zoukankan      html  css  js  c++  java
  • c#工具菜单ToolStrip控件使用笔记

    1.嵌套窗体界面点击无触发

    主窗体上有一个工具菜单ToolStrip,在同一个界面嵌套了一个子窗体,当前焦点在子窗体内时,点击ToolStrip上的按钮,有点意外情况:必须双击才能触发这个ToolStripButton的Click事件。

    这是因为,第一次点击,程序将父窗体获得焦点,第二次点击时(父窗体已处于焦点),才会触发事件

    有一个解决办法,可参见:https://www.cnblogs.com/wzwyc/p/6292693.html

    就是,自定义一个组件,继承系统的ToolStrip。并写下如下代码:

    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控件,即可。

  • 相关阅读:
    上传文件事件并校验:event.target.files && event.target.files[0]
    深浅拷贝
    Git学习
    Flex弹性布局
    hive
    222
    错误总结
    Redis小结2
    spark小结
    kafka详解
  • 原文地址:https://www.cnblogs.com/CUIT-DX037/p/12169001.html
Copyright © 2011-2022 走看看