问题是我无法在文本框中输入字母(例如)。它不会将a,b之类的字母转换为数字,所以它不起作用我可以使用什么功能?检查代码:
try
{
if (Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text) + Convert.ToInt32(textBox3.Text) + Convert.ToInt32(textBox4.Text) == 100)
MessageBox.Show("Activated");
else
MessageBox.Show("License key is not valid.", "License key is not valid.", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
catch (System.FormatException ex)
{
MessageBox.Show(ex.Message);
}
问题是我无法在文本框中输入像这样的字母。
答案 0 :(得分:1)
如果要解析十六进制数字,请指定数字样式,例如:
int.Parse("10026AB0", NumberStyles.AllowHexSpecifier)
或
bool valid = Int32.TryParse("10026AB0", NumberStyles.AllowHexSpecifier,null, out var number1);
答案 1 :(得分:0)
尝试使用Int32.TryParse(string s,out int result);而不只是转换。 返回的布尔值将告诉您转换是否成功。
https://docs.microsoft.com/en-us/dotnet/api/system.int32.tryparse?view=netframework-4.7.2
AS