C#中winform控制textbox输入只能为数字的方法_C#教程-查字典教程网
C#中winform控制textbox输入只能为数字的方法
C#中winform控制textbox输入只能为数字的方法
发布时间:2016-12-28 来源:查字典编辑
摘要:本文实例讲述了C#中winform控制textbox输入只能为数字的方法。分享给大家供大家参考。具体实现方法如下:添加keyPress事件,...

本文实例讲述了C#中winform控制textbox输入只能为数字的方法。分享给大家供大家参考。具体实现方法如下:

添加keyPress事件,控制键盘输入只能是自然数:

复制代码 代码如下:

/// <summary>

/// 控制键盘输入只能是自然数

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void textbox1_KeyPress(object sender, KeyPressEventArgs e)

{

// 允许输入:数字、退格键(8)、全选(1)、复制(3)、粘贴(22)

if (!Char.IsDigit(e.KeyChar) && e.KeyChar != 8 &&

e.KeyChar != 1 && e.KeyChar != 3 && e.KeyChar != 22)

{

e.Handled = true;

}

}

但是这样不能避免粘贴文字里含有非数字字符的情况,可以添加TextChanged事件进行控制:

复制代码 代码如下:

/// <summary>

/// 粘贴时过滤不是数字的字符

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void textbox1_TextChanged(object sender, EventArgs e)

{

var reg = new Regex("^[0-9]*$");

var str = textbox1.Text.Trim();

var sb = new StringBuilder();

if (!reg.IsMatch(str))

{

for (int i = 0; i < str.Length; i++)

{

if (reg.IsMatch(str[i].ToString()))

{

sb.Append(str[i].ToString());

}

}

textbox1.Text = sb.ToString();

//定义输入焦点在最后一个字符

textbox1.SelectionStart = textbox1.Text.Length;

}

}

希望本文所述对大家的C#程序设计有所帮助。

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C#教程学习
    热门C#教程学习
    编程开发子分类