当c#中文本发生变化时,如何抑制对文本框及其形式的聚焦
本文关键字:文本 聚焦 何抑制 中文 变化 | 更新日期: 2023-09-27 17:49:23
我有一个表单(Form1
)和一个富文本框(RichBox1
)里面。
我有很多对象,可以在RichBox1
中附加文本和其他两种形式(Form2
, Form3
)
当这种情况发生时,如果应用程序没有焦点(假设用户正在使用计算器)当用户通过选择Form2
将焦点设置回应用程序时,如果RichBox1
在用户未使用时获得新文本,则Form1
首先获得焦点。
我已经看了所有的属性,但找不到它。文本框的. canfocus不能设置为false,因为它只能读取。什么好主意吗?
感谢编辑:我说:
this.GotFocus += new EventHandler(Form1_GotFocus);
此事件根本不触发。
我在Form1
中有一大堆其他控件,一些标签,按钮和菜单条。我不明白是什么导致了这种行为。
也许有人可以建议在Form1
中提出一个事件来开始跟踪导致这种情况的原因。我假设它与RichBox1
有关,但现在不太确定。
编辑3。
补充道:this.Activated += new EventHandler(Form1_GotFocus);
当我执行上述操作时,此事件不会触发。也许这意味着Form2
失去了焦点,而不是Form1
被激活?同样值得注意的是,当我右键单击Form2
尝试使用表单激活事件。虽然我做了一个小的测试用例,我不能重复你的问题,如果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();
}