你可以试试 Int32.TryParse() 方法
int scd_user_comm;
if(Int32.TryParse(maskedTextBox1.Text, out scd_user_comm) == false)
scd_user_comm = 0;
这将为您提供使用整数变量和 maschedTextBox 所需的所有灵活性-
强制您的 maskTextBox 只接受设置的数值
maskTextBox1.Mask = "999";
maskTextBox1.TextMaskFormat = MaskFormat.ExludePromptAndLiterals;
但是,这不足以确保输入的数字介于 0 和 100 之间。要获得此结果,您需要使用 Validating 事件并在超出限制时拒绝输入
private void maskedTextBox1_Validating(object sender, CancelEventArgs e)
{
int num;
if (Int32.TryParse(maskedTextBox1.Text, out num) == true)
{
if (num < 0 || num > 100)
{
MessageBox.Show("Insert number between 0 and 100");
e.Cancel = true;
}
}
}