private void txtId_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(e.KeyChar >= '0' && e.KeyChar <= '9' || e.KeyChar == 8))//编码框只让输入数字键和退格键
{
e.Handled = true;
}
}
private void txtId_Enter(object sender, EventArgs e)
{
txtId.ImeMode = ImeMode.Disable;//禁止输入法
}
private void txtId_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)//如果复制的内容不是纯数字,清除内容
{
try
{
System.Int64.Parse("" + Clipboard.GetDataObject().GetData(DataFormats.Text));
}
catch (System.FormatException ex)
{
Clipboard.SetDataObject("");
}
}
}
C#在TextBox里禁止输入无效字符的方法
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar<48 || e.KeyChar>57)
{
e.Handled=true;//设置该次键入未能通过验证
}
}
C# 文本框如何控制只能输入数字
使用正则表达式做验证
if (!Regex.Match(txtAllow.Text.Trim(), "^\\d+$").Success)
{
MessageBox.Show(this, "未输入或格式不正确,请重新输入!", "验证消息", MessageBoxButtons.OK, MessageBoxIcon.Error);
txtAllow.Focus();
return false;
}
放在你需要控制的text文本框代码段中
还有个更简单的方法:
try
{
value = convertToInt(txtAllow.Text.Trim());
}
catch()
{
}
不太清楚语法了,但是可以用异常区判断它是否是整数
只能输入数字.
本文介绍了在C#中如何确保TextBox控件只接收数字键输入,包括利用KeyPress事件过滤非数字字符,禁用IME模式以阻止输入法,以及使用正则表达式进行有效性验证。同时,还提供了尝试转换为整数的异常处理方法来检查输入的合法性。
1万+

被折叠的 条评论
为什么被折叠?



