用ASCII码来判断
if(textbox1.Text.Trim()!="")
{
    int cd=comboBox5.Text.Trim().Length;
  for( int cd1=0;cd1<=cd-1;cd1++)
   {
ASCIIEncoding asc=new ASCIIEncoding();
byte[] asc1=asc.GetBytes(textBox1.Text[cd1].ToString());
string aaa=asc1[0].ToString();
if(int.Parse(asc1[0].ToString())>57 | (int.Parse(asc1[0].ToString())<48  &int.Parse(asc1[0].ToString())!=46))//数字的ASCII码为48~57,小数点的ASCII为46
    {
MessageBox.Show("IP中不能含有除数值及小数点以外的其他字符,请重新输入!","含有非法字符",MessageBoxButtons.OK,MessageBoxIcon.Error );
textBox1.Focus();
textBox1.SelectAll();
return;
    }
  }
}