-1

我在其中有一个表单 ( Form1) 和一个富文本框 ( RichBox1)。

我有许多可以附加文本的对象RichBox1 和其他两种形式(Form2Form3

发生这种情况时,如果应用程序没有焦点(例如用户正在使用计算器)并且当用户通过选择将焦点设置回应用程序时Form2, 如果在用户没有使用它时获得了新文本,则Form1首先获得焦点。RichBox1

我已经查看了所有属性,但找不到它。文本框的 .CanFocus 不能设置为 false,因为它只能读取。有任何想法吗?

谢谢

编辑:我添加了:

this.GotFocus += new EventHandler(Form1_GotFocus);

这个事件根本不会触发。

我有一大堆其他控件Form1,一些标签、按钮和菜单条。我不明白是什么导致了这种行为。

编辑2:

也许有人可以建议提出一个事件来Form1开始跟踪导致这种情况的原因。我假设它与RichBox1但现在不太确定。

编辑 3。

添加: this.Activated += new EventHandler(Form1_GotFocus);

当我执行上述操作时,此事件不会触发。也许这意味着Form2失去焦点,而不是Form1被激活?同样值得注意的是,当我右键单击时会出现这种行为Form2

4

1 回答 1

0

尝试使用 Form Activated 事件。虽然我做了一个小测试用例,我无法复制你的问题,如果 RichTextBox 的文本更改我仍然可以选择 Form2,请确保你没有计时器或事件设置焦点到 RichTextBox

public Form1()
{
    InitializeComponent();
    this.Activated += new EventHandler(Form1_Activated);  
}

void Form1_Activated(object sender, EventArgs e)
{
    //Set the Focus to the Control that you want
    button1.Focus();
}
于 2012-12-23T02:15:23.563 回答