1.嵌套窗体界面点击无触发html
主窗体上有一个工具菜单ToolStrip,在同一个界面嵌套了一个子窗体,当前焦点在子窗体内时,点击ToolStrip上的按钮,有点意外状况:必须双击才能触发这个ToolStripButton的Click事件。ide
这是由于,第一次点击,程序将父窗体得到焦点,第二次点击时(父窗体已处于焦点),才会触发事件。工具
有一个解决办法,可参见:https://www.cnblogs.com/wzwyc/p/6292693.htmlthis
就是,自定义一个组件,继承系统的ToolStrip。并写下以下代码:spa
public class ToolStripEx : ToolStrip { protected override void WndProc(ref Message m) { const int WM_MOUSEACTIVATE = 0x21; if (m.Msg == WM_MOUSEACTIVATE && this.CanFocus && !this.Focused) this.Focus(); base.WndProc(ref m); } }
而后,用ToolStripEx控件代替原来的ToolStrip控件,便可。code