我有一个wpf表单,有3个文本框,我应该写多少票,然后我想乘以一个值,在结束时,我有另一个文本框,我想从3个文本框的总和,即使只有1有值
我试过这样做:
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(textBox1.Text) && !string.IsNullOrEmpty(textBox2.Text))
textBox3.Text = (Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text)).ToString();
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(textBox1.Text) && !string.IsNullOrEmpty(textBox2.Text))
textBox3.Text = (Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text)).ToString();
}
不能让它工作请帮助
2条答案
按热度按时间8fsztsew1#
要将字符串值转换为整数值,可以使用
int.Parse
方法。另一方面,此方法(也称为Convert.ToInt32
)要求您确保字符串的格式始终正确,以便进行转换。如果您不确定和/或知道字符串的格式可能不正确,则可以使用int.TryParse
方法,该方法返回true/false值。说明转换是否成功,如果成功,则给出所需的值。如果失败,则得到默认值- 0。如果所有文本框都遵循相同的过程,则只能创建一个
TextChanged
事件并将其绑定到所有文本框。检查我是否正确命名了textBoxes。给予你的控件一个有意义的名字是一个很好的练习。
int.Parse
文档:https://learn.microsoft.com/en-us/dotnet/api/system.int32.parse?view=net-6.0int.TryParse
文件:https://learn.microsoft.com/en-us/dotnet/api/system.int32.tryparse?view=net-6.0vof42yt12#
一个丑陋、快速、肮脏但有效的解决方案:
顺便说一句:我建议使用MVVM而不是代码隐藏,但我知道这不是问题所在