我有一个主窗口和一个带有不同命令按钮的工具条。在这些命令中,我也有一个“打印”按钮(见下文)。当我点击“打印”按钮时,我需要将子表单显示为Modal Less Dialog。因为,我对子表单的选择很少。如果用户选择它们,那么他/她也可以与主表格进行交互。
同时,在show()方法中,我禁用主窗体上的所有控件(见下文),因为如果我使用ShowDialog()方法显示子窗体,它将会完成。当我单击“打印”按钮时,它的颜色会发生变化,表明它已被聚焦/选中。
点击子表单如下图所示。
逻辑上,当我关闭子表单时,它应该返回到先前的模式。但是,即使子表单显示...... Main-Form上的'Print'按钮仍然是聚焦/选择的。当我关闭子表单时,“打印”按钮仍然像下面一样聚焦/选择。
需要更改哪个事件/属性才能使此“打印”按钮显示为处于初始状态。
我尝试过Invalidate(),更改BackColor但尚未满足要求。任何指南?
答案 0 :(得分:0)
如果您不希望它显示为“已选中”,则将按钮的CheckOnClick
属性设置为false,否则在子窗体关闭时切换按钮上的CheckState
属性。< / p>
答案 1 :(得分:0)
嗯,ToolStripButton中的Selected属性是只读的。任何人,需要清除工具条按钮的选择可以使用下面的方法,通过反射调用。
MethodInfo method = typeof(ToolStrip).GetMethod("ClearAllSelections", BindingFlags.NonPublic | BindingFlags.Instance);
method.Invoke(yourToolStripName, null);
这来自:How to Deselect ToolStripItems
快乐编程。