如何使用其他文本框的值设置文本框的值

时间:2014-07-10 01:34:01

标签: winforms

我想将值设置为文本框,具体取决于文本框的值...任何想法如何在Windows窗体中执行c#?例如,我有两个具有值的文本框以及如何自动填充另一个文本框中这些文本框的值的乘积?请帮助我。

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望根据另一个文本框中的更改更新一个文本框。为此目标使用TextChanged事件处理程序

 private void textBox1_TextChanged(object sender, EventArgs e)
    {
        textBox2.Text = ((TextBox)sender).Text;
    }

答案 1 :(得分:0)

我认为您想要的是Control.Leave事件或Control.KeyPress,或者您也可以按照@LevZ的建议使用Control.TextChanged ...

以下是Control.Leave事件的一些代码:

TextBoxFirstNumber.Leave += TextBoxFirstNumber_Leave;
TextBoxSecondNumber.Leave += TextBoxSecondNumber_Leave;

void TextBoxFirstNumber_Leave(object sender, EventArgs e)
{
    if (TextBoxFirstNumber.Text != "" && TextBoxSecondNumber.Text != "")
    {
        TextBoxAnswer.Text = int.Parse(TextBoxFirstNumber.Text) * int.Parse(TextBoxSecondNumber.Text);
    }
}

void TextBoxSecondNumber_Leave(object sender, KeyPressEventArgs e)
{
    if (TextBoxFirstNumber.Text != "" && TextBoxSecondNumber.Text != "")
    {
        TextBoxAnswer.Text = int.Parse(TextBoxFirstNumber.Text) * int.Parse(TextBoxSecondNumber.Text);
    }
}

当用户将其值放入两个TextBox中并将其保留时,这将填充TextBoxAnswer ...

以下是Control.KeyPress事件的一些代码:

TextBoxFirstNumber.KeyPress += TextBoxFirstNumber_KeyPress;
TextBoxSecondNumber.KeyPress += TextBoxSecondNumber_KeyPress;

void TextBoxFirstNumber_KeyPress(object sender, EventArgs e)
{
    if (e.KeyChar == (char)Keys.Enter)
    {
        if (TextBoxFirstNumber.Text != "" && TextBoxSecondNumber.Text != "")
        {
            TextBoxAnswer.Text = int.Parse(TextBoxFirstNumber.Text) * int.Parse(TextBoxSecondNumber.Text);
        }
    }
}

void TextBoxSecondNumber_KeyPress(object sender, KeyPressEventArgs e)
{   
    if (e.KeyChar == (char)Keys.Enter)
    {
        if (TextBoxFirstNumber.Text != "" && TextBoxSecondNumber.Text != "")
        {
            TextBoxAnswer.Text = int.Parse(TextBoxFirstNumber.Text) * int.Parse(TextBoxSecondNumber.Text);
        }
    }
}

现在用户在两个TextBox中输入数字并按下任意一个TextBoxAnswer上的输入将显示产品......

以下是Control.TextChanged事件的一些代码:

TextBoxFirstNumber.TextChanged += TextBoxFirstNumber_TextChanged;
TextBoxSecondNumber.TextChanged += TextBoxSecondNumber_TextChanged;

void TextBoxFirstNumber_TextChanged(object sender, EventArgs e)
{
    if (TextBoxFirstNumber.Text != "" && TextBoxSecondNumber.Text != "")
    {
        TextBoxAnswer.Text = int.Parse(TextBoxFirstNumber.Text) * int.Parse(TextBoxSecondNumber.Text);
    }
}

void TextBoxSecondNumber_TextChanged(object sender, KeyPressEventArgs e)
{
    if (TextBoxFirstNumber.Text != "" && TextBoxSecondNumber.Text != "")
    {
        TextBoxAnswer.Text = int.Parse(TextBoxFirstNumber.Text) * int.Parse(TextBoxSecondNumber.Text);
    }
}

现在,当用户输入事件的数字时,它将触发TextChanged事件,TextBoxAnswer将显示输出。

您还可以阅读this Official Documentation了解控件事件,并使用最符合您需求的事件。