日期:2014-05-18  浏览次数:21057 次

winform:控件如何在非聚焦状况下删除
一个控件如何在非聚焦状况下自动删除,如ComboBox的下拉表,不聚焦就关闭了。
我在点击FORM上任何控件,只要不是此控件就删除。

------解决方案--------------------
用筛选器 IMessageFilter 判断点击对象的句柄是不是combox的句柄,然后做处理
------解决方案--------------------
C# code

        public Form1()
        {
            InitializeComponent();

            this.comboBox1.LostFocus += new EventHandler(comboBox1_LostFocus);
        }

        void comboBox1_LostFocus(object sender, EventArgs e)
        {
            //throw new NotImplementedException();
            this.Controls.Remove(comboBox1);
        }