根据另一个文本框中的文本更改文本框文本

时间:2016-01-05 00:17:50

标签: c# webforms

我正在做一个网络表单应用程序。在这种形式中,我有三个文本框,其中一个显示另外两个文本框的核心复制的结果。比方说三个文本框是txtMulti1,txtMulti2和txtMultiRst。

到目前为止,这是我的代码,但无效

public txtMultiRst_TextChange(       obeject sender, EventArgs e) {
    int result = int.Parse(txtMultRst.Text);
    result = int.Parse(txtMulti1.Text) * int.Parse(txtMulti2.Text);
}

我的想法是txtMuli1 * txtMulti2,答案应该显示在txtMulRst中。帮助将非常感谢

2 个答案:

答案 0 :(得分:3)

您应该设置txtMultRst.Text属性。

int result =  int.Parse(txtMulti1.Text) * int.Parse(txtMulti2.Text);
txtMultRst.Text = result.ToString();

在您的情况下,您正在创建新变量result并为其设置值,而不是txtMultRst.Text,因为int是值类型。

此外,我建议使用TryParse代替Parse来处理txtMulti1.Text无法解析为int的情况。

    int value1 = 0;
    int value2 = 0;
    if (int.TryParse (txtMulti1.Text, out value1) && int.TryParse (txtMulti2.Text, out value2))
    {
         int result =  value1  * value2; 
         txtMultRst.Text = result.ToString();
    }

答案 1 :(得分:1)

鉴于这是一个用户输入字段,我无法强烈推荐Int32.TryParse。否则,当他们第一次输入不是数字的东西时,它会抛出异常。

尝试这样的事情:

int n1, n2;
if(Int32.TryParse(txtMulti1.Text, out n1) && Int32.TryParse(txtMulti2.Text, out n2)
    txtMultRst.Text = (n1*n2).ToString();
else
    txtMultRst.Text = "Please enter valid numbers only";