好的,这是我的问题。我创建了textbox1以包含计算,每当我点击btnOne时,txtbox1都会给出结果。每次单击btnTwo按钮时,名为textbox2的第二个文本框将在textbox1中添加数字。我曾尝试使用下面的代码,但它只将textbox1中的数字作为文本添加,因此将数字放在textbox2中的数字旁边,而不是将它们相加。我怎样才能使它发挥作用?
string a;
void textbox1_TextChanged(object sender, EventArgs e)
{
a = textbox1.Text;
}
void btnTwo_Click(object sender, EventArgs e)
{
textbox2.Text += a.ToString();
}
答案 0 :(得分:2)
您应将文本转换为Double
(ot int
)
using System.Globalization;
void btnTwo_Click(object sender, EventArgs e) {
Double a;
Double b;
// Let's be generous and accept leading/trailing spaces
if (!Double.TryParse(textbox1.Text.Trim(), NumberStyles.Any, CultureInfo.InvariantCulture, out a)) {
textbox2.Text = "First term is of incorrect format.";
return;
}
if (!Double.TryParse(textbox2.Text.Trim(), NumberStyles.Any, CultureInfo.InvariantCulture, out b)) {
textbox2.Text = "Second term is of incorrect format.";
return;
}
textbox2.Text = (a + b).ToString(CultureInfo.InvariantCulture);
}
答案 1 :(得分:0)
运算符 + 将连接字符串。所以你必须在添加之前将它们转换为int:
if(String.IsNullOrEmpty(textbox2.Text))
textbox2.Text = a;
else if(!String.IsNullOrEmpty(a))
textbox2.Text = Convert.toInt32(textbox2.Text) + Convert.toInt32(a);
答案 2 :(得分:0)
试试这个
txt2.Text = (Convert.ToInt32(txt1.Text) + Convert.toInt32(a);
答案 3 :(得分:0)
删除:强>
string a;
void textbox1_TextChanged(object sender, EventArgs e)
{
a = textbox1.Text;
}
<强>替换强>
void btnTwo_Click(object sender, EventArgs e)
{
textbox2.Text += a.ToString();
}
。通过强>
void btnTwo_Click(object sender, EventArgs e)
{
textbox2.Text = int.TryParse(textbox2.Text) + int.TryParse(textbox1.Text);
}
答案 4 :(得分:0)
这样做
void btnTwo_Click(object sender, EventArgs e)
{
int someInt,someInt2;
if(int.TryParse(a.Trim(),out someInt) && int.TryParse(textbox2.Text.Trim(),out someInt2))
textbox2.Text = (someInt + someInt2).ToString();
}
答案 5 :(得分:0)
查看以下链接:http://msdn.microsoft.com/en-us/library/system.int32.parse(v=vs.110).aspx
所以你有几个选择,如果你可以保证它总是一个数字(你不能,但如果你只是试验,继续)那么使用Parse。
因此在代码中,将变量更改为int,然后:
a = Int32.Parse(textbox1.Text);
...
int textbox1Number = Int32.Parse(textbox1.Test);
textbox2.Text = (a += textbox1Number).toString();
如果在两个字符串上使用+ =,则将它们连接起来。你需要int来做数学。
看看tryParse方法来处理奖励积分的无效条目。