我正在开发 WinForms 应用程序。我的表单中有四个文本框和一个按钮。我在单击按钮时使用 textBox1.SelectedText += "any string"
,以便它写入第一个 TextBox
。如果我添加 textBox1.SelectedText += "any string."
那么它会写入 textbox1 和 textbox 2。
当我单击文本框1并按下按钮时,该字符串仅写入第一个文本框,而我单击第二个文本框并按下按钮,然后它写入第二个文本框。有什么方法可以做到这一点吗?
我正在使用以下代码。
private void button1_Click(object sender, EventArgs e)
{
textBox1.SelectedText += "abc";
textBox2.SelectedText += "abc";
}
当我将焦点放在控件上时,当我们按下按钮时,焦点将转到按钮上。那么,我们怎样才能在按下按钮后将焦点集中在表单的一个文本框上呢?
最佳答案
你可以试试这个
TextBox selTB = null;
public Form1()
{
InitializeComponent();
textBox1.Enter += tb_Enter;
textBox2.Enter += tb_Enter;
textBox3.Enter += tb_Enter;
textBox4.Enter += tb_Enter;
}
~Form1()
{
textBox1.Enter -= tb_Enter;
textBox2.Enter -= tb_Enter;
textBox3.Enter -= tb_Enter;
textBox4.Enter -= tb_Enter;
}
private void tb_Enter(object sender, EventArgs e)
{
selTB = (TextBox)sender;
}
private void button1_Click(object sender, EventArgs e)
{
// Do what you need
selTB.SelectedText += "abc";
// Focus last selected textbox
if (selTB != null) selTB.Focus();
}
这个想法是,当您输入文本框时,将其存储在 selTB
中。
因此,当您单击按钮时,您就知道哪个文本框是最后选择的文本框。
关于c# - 如何使用按钮单击在特定文本框中输入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8367435/