为什么我不能可靠地将控件集中在Winforms中?

时间:2011-10-31 22:10:38

标签: c# winforms setfocus

我有一个由左侧各种控件组成的表单,主体是一个浏览器窗口,显示由其他控件创建的HTML文件。生成文件后,我试图将焦点设置到浏览器窗口,以便滚轮工作。

在每次 ODD 尝试时, EVEN 尝试不起作用。

有两个代码路径(都是从按钮单击开始)生成输出,两者都归结为:

Browser.Focus();
Browser.DocumentText = RenderAsHTML();

第一个按钮也会更新左侧的列表框,第二个按钮则不会。奇数/偶数模式与按下哪个按钮无关。

世界上到底发生了什么?

在尝试下面的响应然后扔东西时,我发现了一些非常有趣的东西:

系统认为窗口 IS 是集中的。 Browser.Focused即使不接受滚轮信息也会返回true。

为了让它更奇怪,我做了一个测试,其中包括在显示一些变量的情况下抛出一个消息框 - 当该框被清除回到屏幕时,滚轮在100%的时间内工作。删除 MessageBox.Show行将其返回到旧行为。

0 个答案:

没有答案