0
這是沒有重複的問題有一個類似的問題在這裏問,但其答案並沒有幫助我。如何知道C#中最後點擊的文本框?
我有一個按鈕,在Form1上(Windows窗體)3個文本框,在顯示的代碼實現如下:
通過點擊按鈕,它的類型的文本進入最後點擊文本框和它的作品完美的,因爲所有的3盒是文本框類型。 現在我想在form1中添加一個richTextBox,並且我希望這個richTextBox的行爲與3個文本框(我的意思是當我點擊richTextBox時仍然可以鍵入文本)的行爲相同。在這種情況下,我有一個混合控件(textBoxes和一個richTextBox),如果它只是richTextBoxes或只有文本框,那麼它很容易解決。
我需要修改此代碼,使其中一個控件(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;
}
}
換句話說,將您的Selected_TextBox字段聲明更改爲:public TextBoxBase Selected_TextBox = null; –