楼上的把头像擦干净在发言好吗 我说按下去是平的!
可以试试窗体的PreviewClick事件。它是反向冒泡的。
[quote=引用 22 楼 liucqa 的回复:] 突然发现分变200了,大概是曹版做好事了吧。 要不还是等几天再结吧 让大家再讨论讨论
突然发现分变200了,大概是曹版做好事了吧。 要不还是等几天再结吧 让大家再讨论讨论
楼主,你在对你自定义控件做些动作(比如点击之类的)后,让主Form捕捉鼠标,SetCapture;然后再点击其他地方(不只是空白处,其他控件上也可以)时,就会响应Form的点击事件。 如果像版主给的那种表现的话,没有其他办法的话,也可以用低级鼠标钩子,这个钩子要在自定义控件中,并且最好是使用后立即卸载了,我以前做一个扩展ComboBox的自定义控件时用过
那个办法的缺点是不能对窗体外面的点击,标题栏,以及容器的外面做出响应。
ComboBox没有用这个机制,用的是弹出窗口,介绍在8L。 我的代码也是可以的,你自己修改下。它的问题主要是,因为是控件,所以下拉不能超出窗体范围。这个在那个文章也提到的。
仔细看我给你的代码 以及 http://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.capture.aspx 当控件已捕获鼠标时,它接收鼠标输入,不论光标是否在其边框内。 通常只有在执行拖动操作时才捕获鼠标。
110,532
社区成员
642,574
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧