我的内部有一个表单(Form1
)和一个富文本框(RichBox1
)。
我有很多可以在RichBox1
附加文字的对象
和其他两种表格(Form2
,Form3
)
当发生这种情况时,如果应用程序没有焦点(比如用户正在使用计算器)
当用户通过选择Form2
将焦点设置回应用程序时,
Form1
如果RichBox1
在用户未使用时收到新文字,则会先获得焦点。
我查看了所有属性但找不到它。 a。文本框的.CanFocus不能设置为false,因为它只能被读取。有什么想法吗?
由于
编辑: 我添加了:
this.GotFocus += new EventHandler(Form1_GotFocus);
此事件根本不会发生。
我在Form1
中有一大堆其他控件,一些标签,按钮和菜单条。我不明白是什么导致了这种行为。
编辑2:
也许有人可以建议在Form1
中加注一个事件,以便开始跟踪造成这种情况的原因。我假设它与RichBox1
有关,但现在不太确定。
编辑3。
添加了:
this.Activated += new EventHandler(Form1_GotFocus);
当我执行上述操作时,此事件不会触发。也许这意味着Form2
失去焦点,而不是Form1
被激活?另外值得注意的是,当我右键单击Form2
答案 0 :(得分: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();
}