C# maskedTextBox C中的IP地址验证#
我有C#中的申请表,我有以下代码从屏蔽文本框验证IP地址:C# maskedTextBox C中的IP地址验证#,c#,ip-address,C#,Ip Address,我有C#中的申请表,我有以下代码从屏蔽文本框验证IP地址: private void MainForm_Load(object sender, EventArgs e) { IPAdressBox.Mask = "###.###.###.###"; IPAdressBox.ValidatingType = typeof(System.Net.IPAddress); IPAdressBox.TypeValidationCompleted += new TypeValidat
private void MainForm_Load(object sender, EventArgs e)
{
IPAdressBox.Mask = "###.###.###.###";
IPAdressBox.ValidatingType = typeof(System.Net.IPAddress);
IPAdressBox.TypeValidationCompleted += new TypeValidationEventHandler(IPAdress_TypeValidationCompleted);
}
void IPAdress_TypeValidationCompleted(object sender, TypeValidationEventArgs e)
{
if(!e.IsValidInput)
{
errorProvider1.SetError(this.IPAdressBox,"INVALID IP!");
}
else
{
errorProvider1.SetError(this.IPAdressBox, String.Empty);
}
}
在IPAdres_TypeValidationComleted函数中,如果语句为true,errorProvider1将闪烁并给出“无效IP”消息,否则它将消失。问题是,即使我输入了有效的IP地址,输入类型似乎总是无效的。这可能是由于区域设置和小数。 您可以尝试此掩码,看看它是否解决了问题:
IPAdressBox.Mask = @"###\.###\.###\.###";
这可能是由于区域设置和小数。 您可以尝试此掩码,看看它是否解决了问题:
IPAdressBox.Mask = @"###\.###\.###\.###";
当您设置为一个类型时,在这种情况下,将使用MaskedTextBox
的文本调用该类型的Parse(string)
方法
如果您的区域性使用逗号作为分隔符,则带有输入的123.123.123.123
将生成文本123123
您可以在ipAddress\u TypeValidationCompleted
中看到这一点:e.Message
将包含“System.FormatException:指定了无效的IP地址”,因为IP地址通常不能包含逗号
如果将掩码更改为\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/code>,将圆点转义。当设置为类型时,将使用MaskedTextBox
的文本调用该类型的解析(字符串)
方法
如果您的区域性使用逗号作为分隔符,则带有输入的123.123.123.123
将生成文本123123
您可以在ipAddress\u TypeValidationCompleted
中看到这一点:e.Message
将包含“System.FormatException:指定了无效的IP地址”,因为IP地址通常不能包含逗号
如果您将遮罩更改为\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/code>,避开这些点,它们将是。遮罩应该是:
IPAdressBox.Mask = @"000\.000\.000\.000";
应在程序中添加:
IPAdressBox.ResetOnSpace = false;
面罩应为:
IPAdressBox.Mask = @"000\.000\.000\.000";
应在程序中添加:
IPAdressBox.ResetOnSpace = false;
这里有一个解决方案:[解决方案][1][1]:这里有一个解决方案:[解决方案][1][1]:谢谢!对于我的问题,这是一个很好的答案,但一般来说,这不是一个复杂的解决方案,因为如果在本例中键入127.0.0.1,它将返回带有空格字符的地址,如:127.0_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu!对于我的问题,这是一个很好的答案,但一般来说,这不是一个复杂的解决方案,因为如果在本例中键入127.0.0.1,它将返回带有空格字符的地址,如:127.0_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。