C#的winform中控制TextBox中只能輸入數字
private void textBox3_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
//阻止從鍵盤輸入鍵
e.Handled = true;
if(e.KeyChar>='0' && e.KeyChar <='9')
{ e.Handled = false; }
}
多條件的:
private void TxtUser_KeyPress(object sender, KeyPressEventArgs e)
{
//阻止從鍵盤輸入鍵
e.Handled = true;
if ((e.KeyChar >= '0' && e.KeyChar <= '9') || (e.KeyChar == (char)8))
{ if ((e.KeyChar == (char)8))
{ e.Handled = false; return; }
else { int len = TxtUser.Text.Length; if (len < 5)
{ if (len == 0 && e.KeyChar != '0')
{ e.Handled = false; return; }
else if(len == 0)
{ MessageBox.Show("編號不能以0開頭!");
return; }
e.Handled = false; return; }
else { MessageBox.Show("編號最多只能輸入5位數字!");
}
}
} else { MessageBox.Show("編號只能輸入數字!");
}
}
//控制智能輸入小數
private string perText;
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
var text = textBox1.Text;
double result;
Double.TryParse(textBox1.Text, out result);
if (result != 0)
{
perText = text;
}
else
{
textBox1.Text = perText;
this.textBox1.SelectionStart = this.textBox1.Text.Length;
this.textBox1.Focus();
}
}