C#-文本框验证
我有一些代码可以检查并确保当用户在字段中输入1-10之间的整数时必须输入 虽然如果用户关注该字段,“坏”数据(如“fdgfdg”)仍保留在该字段中。因此,如果数据无效,一些人能否演示当焦点在字段上丢失时,将如何输入默认值,例如5C#-文本框验证,c#,.net,winforms,validation,C#,.net,Winforms,Validation,我有一些代码可以检查并确保当用户在字段中输入1-10之间的整数时必须输入 虽然如果用户关注该字段,“坏”数据(如“fdgfdg”)仍保留在该字段中。因此,如果数据无效,一些人能否演示当焦点在字段上丢失时,将如何输入默认值,例如5 private void textBox4_TextChanged(object sender, EventArgs e) { try { int numberEntered
private void textBox4_TextChanged(object sender, EventArgs e)
{
try
{
int numberEntered = int.Parse(textBox4.Text);
if (numberEntered < 1 || numberEntered > 10)
{
MessageBox.Show("You must enter a number between 1 and 10");
}
}
catch (FormatException)
{
MessageBox.Show("You need to enter an integer");
}
}
private void textBox4\u TextChanged(对象发送方,事件参数e)
{
尝试
{
int numberEntered=int.Parse(textBox4.Text);
如果(numberEntered<1 | | numberEntered>10)
{
Show(“您必须输入一个介于1和10之间的数字”);
}
}
捕获(格式化异常)
{
Show(“您需要输入一个整数”);
}
}
看一看,我会使用如果您像这里一样手动滚动验证,您需要做的就是在MessageBox.Show()之后设置默认值
在标准winforms中,我认为您没有任何验证框架支持,但您可以看看这个:为了获得灵感,您不必将此逻辑分散到整个应用程序中使用textbox控件上的事件来验证和设置默认值这里有几个事件可以使用,
离开
,LostFocus
和Validating
上有更多关于这些不同事件的讨论
在某些情况下,Leave
和LostFocus
不会触发,因此在您的情况下最好使用Validating
事件:
textBox1.Validating += new CancelEventHandler(textBox1_Validating);
void textBox1_Validating(object sender, CancelEventArgs e)
{
int numberEntered;
if (int.TryParse(textBox1.Text, out numberEntered))
{
if (numberEntered < 1 || numberEntered > 10)
{
MessageBox.Show("You have to enter a number between 1 and 10");
textBox1.Text = 5.ToString();
}
}
else
{
MessageBox.Show("You need to enter an integer");
textBox1.Text = 5.ToString();
}
}
textBox1.Validating+=新的CancelEventHandler(textBox1\u Validating);
无效文本框1\u验证(对象发送方,取消事件参数e)
{
整数编码;
if(int.TryParse(textBox1.Text,out numberrentered))
{
如果(numberEntered<1 | | numberEntered>10)
{
Show(“您必须输入一个介于1和10之间的数字”);
textBox1.Text=5.ToString();
}
}
其他的
{
Show(“您需要输入一个整数”);
textBox1.Text=5.ToString();
}
}
@Gats:这是winforms桌面应用程序…这是winforms而不是网页。@Gats:即使是web应用程序,服务器端验证也是必需的。客户端验证应该是对服务器端验证的一种方便的补充。您还应该查看一个示例,它是向用户显示输入错误的一种简便方法。我是一个工具。这就是你在凌晨4点回答问题时发生的情况:)