c# - 如何为“始终在顶部”或“最顶部”添加可以打开和关闭的复选框
问题描述
我正在 Visual Studio 中处理一个项目,我需要一个复选框的帮助,当单击该复选框时,窗口将始终位于顶部,而当关闭时,它将不再位于顶部。
我已经在它打开时添加了它,但我不知道如何将它切换为关闭。
this.TopMost = true;
输出将使应用程序处于最高位置,但取消选中时,它会保持在最高位置。
解决方案
您的基本抱怨是“我们第一次单击该框时,表单确实变为 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 之间切换布尔值。如果此代码在按钮单击处理程序中,则每次单击按钮时,“始终在顶部”都会在打开和关闭之间切换
推荐阅读
- python - 列表未使用 df.to_csv 写入 csv
- java - groovy.lang.MissingPropertyException:无法获取未知属性
- mysql - 如何正确安装mysql
- java - 对于 Apache poi 折线图,如何使第一列不显示在 y 轴上
- javascript - 更改 CSS 中的复选框样式
- java - 数组输入未加起来。-- 总计 += scoreArray[i];
- javascript - 有没有办法在没有 create-react-app 的情况下在 React 中导入模块?
- python - 如何在numpy中将具有非零累积和的n个连续元素设置为1,其余元素设置为零?
- javascript - 使用 axios 反应和节点跨域错误
- android - Socket.io Emitter.Listener() 在 Android 9(API 级别 28)上不起作用