早上好。
我有10个texbox(texbox1,textbox2,....,textbox10),还有一个按钮,当它被克隆时会给出一个文本“Boby”。
但我有一个问题而且很混乱。我希望按钮只在光标所在的文本框中写“Boby”。
例如:我将光标放在textbox1上,然后按下按钮,“Boby”将出现在textbox1上。然后,如果我将光标放在textbox4上并单击按钮,则文本框4上将显示“Boby”。
我已经向很多朋友询问了这个问题并且谷歌搜索了2天但我找不到答案。
答案 0 :(得分:1)
查找在其中一个文本框获得焦点时触发的事件,并记住变量中的哪一个。然后当你按下按钮时,从变量中设置文本框的文本。
答案 1 :(得分:0)
你可以做@ZdravkoDanev建议的事情。
假设您正在使用C#Winforms应用程序:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
textBox1.GotFocus += new EventHandler(TextBoxGotFocus);
textBox2.GotFocus += new EventHandler(TextBoxGotFocus);
textBox3.GotFocus += new EventHandler(TextBoxGotFocus);
//and so on
}
TextBox t = null;
private void TextBoxGotFocus(object sender, EventArgs e)
{
TextBox t = sender as TextBox;
this.t = t;
}
private void button1_Click(object sender, EventArgs e)
{
if(t != null)
t.Text = "boby";
}
}
请记住,当表单出现时,默认情况下第一个文本框可能会获得焦点,因此单击该按钮将向其添加“Boby”。如果您不想要此行为,请使用文本框“Click
”事件而不是GotFocus
事件。