2

可能重复:
表单加载的焦点问题

我有一个用 VB 6.0 或 C++ 编写的 Activex 控件,可能在 C# WinForms 程序中将它用作 AxInterop,它非常像一个文本框,但有一些特殊的逻辑等......我们已经将它添加到工具栏...当表单加载时,我希望键盘焦点位于其中,因此我使用了 .Focus.Select方法,但它仍然没有获得焦点。当我从 VS IDE 运行程序时:它获得了焦点。当我在 IDE 之外运行 .EXE 文件时:它没有获得焦点。

你怎么看?

这也是它的屏幕截图:

在此处输入图像描述

4

1 回答 1

2

当您尝试赋予它焦点时,您确定该组件是可见的吗?

如果您尝试在Form.Load事件处理程序中进行聚焦,请尝试将其移至Form.Shown处理程序,或者也许Control.Enter.

行为上的差异可能归结为时间问题。在 MSDN 上查看打开表单上事件发生的顺序以获得更多想法。

于 2012-11-15T16:44:54.867 回答