我无法弄清楚如何使文本框只能在1-1000之间显示相同的数字。 有人可以帮我这个吗?
提前致谢
private void tbInvoerEuros1_KeyPress(object sender, KeyPressEventArgs e)
{
char ch = e.KeyChar;
if (!Char.IsDigit(ch) && ch !=46)
{
e.Handled = true;
}
答案 0 :(得分:2)
我无法弄清楚如何使文本框只能在1-1000之间显示相同的数字。有人可以帮我这个吗?
最简单的方法是切换到NumericUpDown控件,该控件具有Minimum,Maximum,Interval和Decimals属性。您还可以使用滚动按钮,并允许用户键入值,这些值会自动验证。
由于您必须使用文本框,这是一种处理Validating事件的方法,并通知用户无效输入并将焦点返回到文本框。
private void TextBox1_Validating(object sender, CancelEventArgs e)
{
double input;
if(double.TryParse(textBox1.Text, out input))
{
if(input < 1 || input > 1000)
e.Cancel = true;
else
e.Cancel = false;
}
else
e.Cancel = true;
if(e.Cancel)
MessageBox.Show("Invalid input!");
}
要创建并注册处理程序,请单击文本框属性网格中的事件图标。双击Validating
并在写入的存根中使用此代码。