如何知道C#中最后一次点击的文本框
本文关键字:文本 最后一次 何知道 | 更新日期: 2023-09-27 18:22:20
这不是重复的问题这里有一个类似的问题,但它的答案对我没有帮助。
我在form1(windows表单)上有一个按钮和3个文本框,显示的代码实现了以下功能:
通过点击按钮,它将文本输入到最后一次点击的文本框中,效果非常好,因为所有3个框都是文本框类型。现在我想在form1中添加一个richTextBox,我希望这个richTextBox的行为方式与3个文本框相同(我的意思是,当我点击richTextBox时,我仍然可以键入文本)。在这种情况下,我有一个混合控件(textBoxes和richTextBox),如果它只有richTextBoxes或只有textBoxes,那么很容易解决。
我需要修改这段代码,以便其中一个控件(3个文本框和richTextBox)在被点击时获得焦点,然后button1知道被点击了哪个框,这样它就可以在其中插入文本。有人能帮我吗。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public TextBox Selected_TextBox = null ;
private void Form1_Load(object sender, EventArgs e)
{
this.ActiveControl = textBox1;
textBox1.Focus(); // set textbox1 foucsed when form1 loads
Selected_TextBox = textBox1; // idintify the SelectedTextBox.
}
private void textBox1_Click(object sender, EventArgs e)
{
Selected_TextBox = sender as TextBox; // bcomes the selected one in click event
}
private void textBox2_Click(object sender, EventArgs e)
{
Selected_TextBox = sender as TextBox;
}
private void textBox3_Click(object sender, EventArgs e)
{
Selected_TextBox = sender as TextBox;
}
private void button1_Click(object sender, EventArgs e)
{
Selected_TextBox.Focus();
Selected_TextBox.SelectedText = button1.Text;
Selected_TextBox.SelectionStart = Selected_TextBox.Text.Length;
}
}
使用TextBoxBase
,它是TextBox
和RichTextBox
之间的公共基类。