首页 新闻 会员 周边

C# WINFORM编写的程序启动后,再开一个记事本,记事本处于激活状态,但未全部挡住后面的程序

0
悬赏园豆:10 [已解决问题] 解决于 2011-08-08 14:12

C# WINFORM编写的程序启动后,再开一个记事本,记事本处于激活状态,但未全部挡住后面的程序,点击后面程序的工具栏,不能响应事件,可有好的解释?

一般解释为:后面程序要先激活获取焦点,然后才能触发相关按钮事件。但是有的按钮又能在非获取焦点的情况下直接点击?如果解释这种情况呢

阿龍的主页 阿龍 | 菜鸟二级 | 园豆:268
提问于:2011-08-05 11:50
< >
分享
最佳答案
0

这不是获取焦点的问题,而是Z ORDER问题.

非焦点控件能直接点击,是因为父窗体将鼠标单击事件派发给了界面控件.

收获园豆:10
Launcher | 高人七级 |园豆:45045 | 2011-08-05 12:38
啊。有详细一点吗?对于这种情况可有办法解决?
阿龍 | 园豆:268 (菜鸟二级) | 2011-08-05 13:38
@阿龍:你可以在你的Winform中使用SetCapture API来捕获鼠标事件,当鼠标移动到你的窗体区域后,你在做相应的处理.当然,你的程序关闭后需要RealeaseCapture.
Launcher | 园豆:45045 (高人七级) | 2011-08-05 14:36
其他回答(1)
0

系统的问题吧,关注一下

2012 | 园豆:21230 (高人七级) | 2011-08-05 12:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册