焦点问题
急:我自己写了个类似dropdownlist控件的控件,可是不知道改控件的焦点失去事件是什么,意思就是我点在窗体的任何地方我的这个控件要收起来。用LEAVE或lostfoucs都只能是点窗体上的控件才失去焦点,点窗体焦点还在.我试了parent.也不满意哦,因为窗体中还有很多面板容器并不是该控件的父容器,怎么办?
[解决办法]
我不清楚你用的是什么方法。
看下面的方法
1、用Form+IMessageFilter模拟一个,其实用一个Form模拟就足够了。
2、从ToolStripDropDown类继承,该类位无焦点窗口,且失去焦点或用户点击别的地方自动关闭
[解决办法]
找了一个以前的例子给你:
1、用Form模拟一个,Form有Deactivate事件,处理它即可。
2、正确的做法是从ToolStripDropDown继承
- C# code
//定义一个Hosttprivate ToolStripControlHost _controlHost;private void CreateHost(Control control) { if (control == null) { throw new ArgumentException("control"); } _popupControl = control; //将控件加入Host,通常是用户控件,也可以手动加入其它控件 _controlHost = new ToolStripControlHost(control, "popupControlHost"); _controlHost.AutoSize = false; _controlHost.Padding = Padding.Empty; _controlHost.Margin = Padding.Empty; base.Size = new Size( control.Size.Width + Padding.Horizontal, control.Size.Height + Padding.Vertical); //将该Host加入本类容器中。 base.Items.Add(_controlHost); }
[解决办法]