我在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);
    }
}


在IPAdres_TypeValidationComleted函数中,如果语句为true,则errorProvider1闪烁并提供“ INVALID IP”消息,否则它将消失。问题是即使我输入了有效的IP地址,输入类型也似乎总是无效的。

最佳答案

这可能是由于区域设置和小数引起的。
您可以尝试使用此Mask,看看它是否可以解决问题:

IPAdressBox.Mask = @"###\.###\.###\.###";

10-05 21:30