我正在做一个网络表单应用程序。在这种形式中,我有三个文本框,其中一个显示另外两个文本框的核心复制的结果。比方说三个文本框是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中。帮助将非常感谢
答案 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";