如何使Button仅在选定的文本框中插入文本

时间:2013-12-31 04:09:04

标签: selected

早上好。

我有10个texbox(texbox1,textbox2,....,textbox10),还有一个按钮,当它被克隆时会给出一个文本“Boby”。

但我有一个问题而且很混乱。我希望按钮只在光标所在的文本框中写“Boby”。

例如:我将光标放在textbox1上,然后按下按钮,“Boby”将出现在textbox1上。然后,如果我将光标放在textbox4上并单击按钮,则文本框4上将显示“Boby”。

我已经向很多朋友询问了这个问题并且谷歌搜索了2天但我找不到答案。

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事件。