【发布时间】:2015-04-13 13:48:01
【问题描述】:
我的 C# windows 窗体应用程序中有一些文本框。我想做以下事情:
inRed = Convert.ToInt32(tbRed.Text.ToString().Length < 0 ? tbRed.Text = "0" : tbRed.Text);
inGreen = Convert.ToInt32(tbGreen.Text.ToString().Length < 0 ? tbGreen.Text = "0" : tbGreen.Text);
inBlue = Convert.ToInt32(tbBlue.Text.ToString().Length < 0 ? tbBlue.Text = "0" : tbBlue.Text);
inCyan = Convert.ToInt32(tbCyan.Text.ToString().Length < 0 ? tbCyan.Text = "0" : tbCyan.Text);
inMagenta = Convert.ToInt32(tbMagenta.Text.ToString().Length < 0 ? tbMagenta.Text = "0" : tbMagenta.Text);
如果文本框没有值,输入0并转换为整数,否则将文本框的值转换为整数。
inCyan 出现以下错误,其中文本框为空:
Input string was not in a correct format.
我怎样才能实现我想要的?
【问题讨论】:
-
尝试使用
Length <= 0而不仅仅是Length < 0 -
为什么要将 ToString 添加到字符串属性中?
-
@DavidG Wow... 缺少
=。谢谢。 -
要输入数值,您可以使用
NumericUpDown控件。它完全消除了解析。 -
@juharr 实际上我不会使用这种方法,因为如果输入非数值,它仍然会产生异常。