Jay*_*Jay 7 .net c# validation winforms
我有一些代码检查并确保当用户在字段中输入时必须输入1到10的整数.
虽然如果用户关注该字段,但"坏"数据(例如"fdgfdg")仍然留在该字段中.因此,有些人可以演示当焦点在场上丢失时,如果数据无效,则输入默认值,例如5
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");
}
}
Run Code Online (Sandbox Code Playgroud)
Dav*_*all 15
有迹象表明,你可以在这里使用的几个事件,Leave,LostFocus并Validating没有对这些不同事件的更多讨论MSDN这里.
在某些情况下,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();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35053 次 |
| 最近记录: |