您的位置:首页 > 编程语言 > C#

C# 事件穿透 事件冒泡 鼠标点击后在父级控件捕获

2015-07-15 15:41 447 查看
    public partial class UcIssueBill : UserControl, IMessageFilter
    {

……………………

        public bool PreFilterMessage(ref Message m)

        {

            if (m.Msg == 0x201)//鼠标左键单击

            {

                Control ctrl = Control.FromHandle(m.HWnd);

                bool found = false;

                if (null != ctrl)

                {

                    while (null != ctrl.Parent)

                    {

                        if (ctrl.Parent == this)

                        {

                            found = true;

                            break;

                        }

                        ctrl = ctrl.Parent;

                    }

                if (found)

                {

                    this.com_Click(this, new EventArgs());

                }

            }

            return false;

        }

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: