繁体   English   中英

C#找不到有关自动更新文本框WITH计算的初学者解释

[英]C# Can't find beginners explanation about auto update textbox WITH calculation

我正在进行计算,但是随后我想到了在我填充textBox1自动进行该计算的想法。 我如何才能调用button1_Click内部的计算? 我知道如何将您在textBox1编写的内容复制到textBox2 ,但是当我在没有按钮的情况下在textBox1中写入数字时,我几乎不知道要调用整个if语句来自动更新textBox2 Total

private void textBox1_TextChanged(object sender, EventArgs e) { }
private void textBox2_TextChanged(object sender, EventArgs e) { }
private void button1_Click(object sender, EventArgs e)
{
    aantalgroep = int.Parse(textBox1.Text);

    /* Wat er gebeurd bij RadioButton1 Checked */
    if (radioButton1.Checked) 
    {
        number = aantalgroep * 8;
        textBox2.Text = number.ToString();

        if (aantalgroep < 10)
            textBox2.Text = number.ToString();
    }
}

进入设计编辑器,单击您的文本框,单击少量照明,找到TextChanged并单击指向下的箭头(在TextChanged字段旁边)。 在这里,您将注册一个已经创建的名为button1_Click的方法,选择它并确认。 每次在文本框中更改文本时,都将调用自动计算方法。

为了保持理智,您可能应该将逻辑从单击处理程序中移出,因为您打算从各个地方调用它。 提取逻辑后,您可以从任何位置调用它。

private void textBox1_TextChanged(object sender, EventArgs e)
{
    Calculate();
}

private void textBox2_TextChanged(object sender, EventArgs e)
{
    //You probably don't want to call Calculate here, due to infinite recursion
    //Calculate();
}    

private void button1_Click(object sender, EventArgs e)
{
    Calculate();
}

private void Calculate()
{
    aantalgroep = int.Parse(textBox1.Text);

    /* Wat er gebeurd bij RadioButton1 Checked */
    if (radioButton1.Checked) {
        number = aantalgroep * 8;
        textBox2.Text = number.ToString();
        if (aantalgroep < 10) {
            textBox2.Text = number.ToString();
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM