C#中winform掌握textbox輸出只能為數字的辦法。本站提示廣大學習愛好者:(C#中winform掌握textbox輸出只能為數字的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#中winform掌握textbox輸出只能為數字的辦法正文
本文實例講述了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#法式設計有所贊助。