首页 > 解决方案 > 如何为“始终在顶部”或“最顶部”添加可以打开和关闭的复选框

问题描述

我正在 Visual Studio 中处理一个项目,我需要一个复选框的帮助,当单击该复选框时,窗口将始终位于顶部,而当关闭时,它将不再位于顶部。

我已经在它打开时添加了它,但我不知道如何将它切换为关闭。

this.TopMost = true;

输出将使应用程序处于最高位置,但取消选中时,它会保持在最高位置。

标签: c#.netvisual-studio

解决方案


您的基本抱怨是“我们第一次单击该框时,表单确实变为 TopMost,但随后它始终保持 TopMost 并且不会关闭”

这是因为您设置了 TopMost = true:

this.TopMost = true;

但是你没有说你曾经提供过一种方法来再次设置它为假

你可以这样做:

if(topmostCheckbox.Checked)
  this.TopMost = true;
else
  this.TopMost = false; //provide a way to turn it off

当然,这更简单地写成:

this.TopMost = topmostCheckbox.Checked;

如果您使用按钮来打开和关闭它,切换布尔值的巧妙技巧是:

this.TopMost = !this.TopMost;

每次运行此代码时,它都会在 false/true/false/true 之间切换布尔值。如果此代码在按钮单击处理程序中,则每次单击按钮时,“始终在顶部”都会在打开和关闭之间切换


推荐阅读