[英]Validate window form using C#
我是C#的新手
我正在尝试使用C#验证表单。 我希望验证失败时显示一个MessageBox
。 我有错误:
“没有重载方法'UserFormValidation'”
代码如下
// Validation Method
public void UserFormValidation(object sender, CancelEventArgs e)
{
if (textSurname.Text == " ")
{
MessageBox.Show("Please insert your Surname");
}
else if (textFirstname.Text == " ")
{
MessageBox.Show("Please insert your Firstname");
}
}
private void UserRegistrationSend_Click(object sender, EventArgs e)
{
// Call the validation Method
UserFormValidation();
// if validation pass print message below
MessageBox.Show("User Registed", "User Message");
}
您已经使用参数定义了UserFormValidation
方法:
public void UserFormValidation(object sender, CancelEventArgs e)
但是您不带参数调用它:
UserFormValidation();
解决此问题的一种方法是更改方法签名,以使它不需要参数,只要您实际上不需要它们即可-从当前代码中可以看出。 另一种方法是在调用它时简单地给它参数:
UserFormValidation(this, new CancelEventArgs());
第三种选择是添加一个不带参数的重载,这样就可以保留一个完整的重载,以防您在其他地方使用它。 在您的重载内部,您可以简单地调用需要参数的那个:
public void UserFormValidation()
{
UserFormValidation(this, new CancelEventArgs());
}
您最终选择哪一种取决于您的使用方式。
这是因为您的方法UserFormValidatin需要2个参数,而您不带参数调用它
刚打电话
UserFormValidation(sender, new CancelEventArgs());
如果要验证表单控件,则可以使用ValidateChildren()方法进行。
请看一下msdn示例代码:
[1]:https://msdn.microsoft.com/zh-CN/library/ms158374(v=vs.110).aspx
另一个问题是
如果(textSurname.Text ==“”)
如果您只有1个空白,则此条件为True。
您必须这样做:
if (IsNullOrWhiteSpace(textSurname.Text))
{...}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.