C# 仅允许文本框C中的数字#
可能重复:C# 仅允许文本框C中的数字#,c#,textbox,digits,C#,Textbox,Digits,可能重复: 我现在正在编写一个程序,我有几个简单的文本框。当文本框的输入不是一个数字时,我不断收到一个错误,因为它试图将其转换为整数 代码非常基本: int optelNumber = Convert.ToInt32(textBox2.Text); MessageBox.Show("Please enter a digit."); //if optelNumber is not a digit 例如: input in textbox = "Hello !" => p
我现在正在编写一个程序,我有几个简单的
文本框
。当文本框
的输入不是一个数字时,我不断收到一个错误,因为它试图将其转换为整数
代码非常基本:
int optelNumber = Convert.ToInt32(textBox2.Text);
MessageBox.Show("Please enter a digit."); //if optelNumber is not a digit
例如:
input in textbox = "Hello !" => pops up the Mess.Box
input in textbox = 123245 => keep running the program
希望这是足够的信息。我搜索了几乎所有其他主题,但所有的代码都是为我准备的(
谢谢你的时间
- 编辑:
messagebox
用于捕获错误并防止程序崩溃
- 编辑:
int vedett = 0, duvel = 0, kDuvel = 0, kriek = 0, pils = 0; //only digits allowed here int optelNumber = Convert.ToInt32(textBox2.Text); switch(comboItem) { case "vedett": vedett += optelNumber; break; case "duvel": duvel += optelNumber; break; case "kl. duvel": kDuvel += optelNumber; break; case "pils": pils += optelNumber; break; case "kriek": kriek += optelNumber; break; case "": MessageBox.Show("Kies een andere drank."); break; }
int.TryPase
int result;
if (int.TryParse(textBox2.Text, out result))
int optelNumber = Convert.ToInt32(textBox2.Text);
或
我不知道这是否是您需要的,但可能会有帮助。再次使用
Convert.ToInt32
的原因是什么?结果具有值..?ConvertToInt32
隐式调用int.Parse
。但是如果字符串为空int.Parse
则抛出异常,而Convert.ToInt32
则返回0.edited以获得更好的编码g实践。任何一个都应该工作,但实际上不工作不:可能是我,我会添加其余的代码使其成为mroeclearly@DJBurb我只是从来没见过它被那样使用。。
int result;
int optelNumber;
if (int.TryParse(textBox2.Text, out result))
optelNumber = result;