Tag: 表单控件

同时激活表单和进程按钮单击?

我在C#中使用Windows窗体。 我有一个主窗体,其中包含几个包含toolStripButtons的工具栏。 使用包含数据的另一个表单后,主窗体失去焦点并单击toolStripButton不会触发OnClick事件:第一次单击激活主窗体,只有第二次单击实际按下按钮。 我需要用户只点击一次按钮才能触发Click事件,有关如何操作的任何想法? 谢谢。 笔记: 我正在使用MDI ,点击父母的表单按钮没有问题。 但现在最重要的是让表格在多个显示器上自由浮动。 工作者表单具有作为所有者属性的主要表单,这样他们就可以保持在主表单的顶部。 当我单击非活动表单的按钮时,MouseHover,MouseEnter,MouseDown和MouseUp都不会触发。 这只是主要forms的激活事件。 在主窗体上有一个treeView(在tabControl内,在splitContainer内,在一个面板内)。 即使主窗体处于非活动状态,也可以在第一次鼠标单击时选择其项目。 我猜不是所有的控制都是平等的!

如果打开关闭表格,如何检查表格是否打开?

如何检查表单是否已打开,以及表单是否打开以关闭表单? 我尝试了下面的代码,测试了一些代码,但它仍然说即使我知道这个代码是不正常的: foreach(Form a in Application.OpenForms) { if (a is YouLikeHits_Settings) { // About form is open MessageBox.Show(“form open”); break; } // About form is not open… MessageBox.Show(“form not open”); break; }

调整c#窗体大小时防止窗口重绘

我可以听到什么窗口消息或事件,以阻止窗口重绘每个像素的大小? 也就是说,当用户点击窗口边缘并开始重新resize时,我不想重新绘制整个内容,直到他放开为止。 这是因为出于某种原因,它目前在resize时可能会因为一切都重新对接而不是重新对齐。 我尝试了WM_SIZING,但这只是告诉我它正在重新resize,我想知道大小的开始和结束,所以我可以暂停布局,直到用户停止resize。