今天做了一个简单的程序,要求文本框只能接受数字,不能接受其他的字符串,而且要在输入和时候做检测,不是都输入后在做检测,一下是代码。
private void InitializeComponent()
{
textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.UserControl1_KeyDown);
textBox1.KeyUp += new System.Windows.Forms.KeyEventHandler(this.UserControl1_KeyUp);
}
private void UserControl1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
int total=textBox1.TextLength-1;
if(e.KeyCode!=Keys.D0&e.KeyCode!=Keys.D1&e.KeyCode!=Keys.D2&e.KeyCode!=Keys.D3&e.KeyCode!=Keys.D4&e.KeyCode!
=Keys.D5&e.KeyCode!=Keys.D6&e.KeyCode!=Keys.D7&e.KeyCode!=Keys.D8&e.KeyCode!=Keys.D9)
{
try
{
textBox1.Text=textBox1.Text.Substring(0,total);
textBox1.SelectionStart=textBox1.TextLength;
}
catch (Exception ex)
{
}
}
}
private void UserControl1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
int total=textBox1.TextLength-1;
if(e.KeyCode!=Keys.D0&e.KeyCode!=Keys.D1&e.KeyCode!=Keys.D2&e.KeyCode!=Keys.D3&e.KeyCode!=Keys.D4&e.KeyCode!
=Keys.D5&e.KeyCode!=Keys.D6&e.KeyCode!=Keys.D7&e.KeyCode!=Keys.D8&e.KeyCode!=Keys.D9)
{
try
{
textBox1.Text=textBox1.Text.Substring(0,total);
textBox1.SelectionStart=textBox1.TextLength;
}
catch (Exception ex)
{
}
}
}
至于具体的解释,我稍后在给出,我把程序上传了,欢迎大家一起探讨。
程序下载:https://files.cnblogs.com/airwolf2004/Debug.rar