maskedTextBox中的IP地址验证C#

ElC*_*ado 1 c# ip-address

我在C#中有申请表,我有以下代码来验证掩码文本框中的IP地址:

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

在IPAdres_TypeValidationComleted函数中,如果if语句为true,则errorProvider1闪烁并给出"INVALID IP"消息,否则它应该消失.问题是即使我输入有效的IP地址,输入类型似乎总是无效的.

Séb*_*rin 5

这可能是由于区域设置和小数.你可以尝试这个面具,看看它是否解决了这个问题:

IPAdressBox.Mask = @"###\.###\.###\.###";
Run Code Online (Sandbox Code Playgroud)