一、只能输入数字
/// <summary>
/// 限制文本框输入 禁止空格以及负数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void param_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 0x20) e.KeyChar = (char)0; //禁止空格键
//处理负数
if (e.KeyChar == 0x2D && (((TextBox)sender).Text.Length == 0))
{
return;
}
else if (e.KeyChar == 0x2D && ((TextBox)sender).SelectionStart != 0)
{
MessageBox.Show("负号必须是首位");
e.KeyChar = (char)0;
return;
}
else if (e.KeyChar == 0x2D)
{
try
{
double.Parse(e.KeyChar.ToString() + ((TextBox)sender).Text);
return;
}
catch (Exception)
{
e.KeyChar = (char)0; //处理非法字符
}
}
//正常输入其他数字
if (e.KeyChar > 0x20)
{
try
{
double.Parse(((TextBox)sender).Text + e.KeyChar.ToString());
}
catch
{
e.KeyChar = (char)0; //处理非法字符
}
}
}