如何添加一个可以在“始终在最前面”或“最上面”进行切换的复选框

时间:2019-01-07 10:45:56

标签: c# .net visual-studio

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

我已经为打开它添加了它,但是我不知道如何将其关闭。

this.TopMost = true;

输出将使应用程序排在最前,但是当未选中时,它将排在最前。

2 个答案:

答案 0 :(得分:1)

您的基本抱怨是:“我们第一次单击该框时,该表格的确变成了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之间切换布尔值。如果此代码位于按钮单击处理程序中,则每次单击按钮时,“始终在顶部”的状态都会在打开和关闭之间发生变化

答案 1 :(得分:0)

我用过

TopMost = checkBox1.Checked

对我有用!