Winform

1、控制winform文本框输入字符限制(数字或字母、长度)

使用文本框的keyPress事件效果比keydown效果要好

  private void textbox_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)Keys.Back) {
                e.Handled = false;
                return;
            } 
            string pattern = @"^[a-zA-Z0-9]{0,6}$";
            if (!Regex.IsMatch(txtDBThempLibName.Text.Trim(), pattern))
            {
                MessageBox.Show("输入格式不正确,请检查:\r\n请检查输入是否为数字或字母以外的符号");
                return;
            }
            if (txtDBThempLibName.Text.Trim().Length>0)
                btnImport.Enabled = true;
            else
                btnImport.Enabled = false;
            if (txtDBThempLibName.Text.Length >= 6) e.Handled = true;
        }
限制只能输入数字和一个小数点:
    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar >= '0' && e.KeyChar <= '9') || e.KeyChar == '.' || (byte)(e.KeyChar) == 8                )//8就是回格,backspace(删除).
            {
                if (e.KeyChar == '.' && (sender as TextBox).Text.IndexOf('.') >= 0)
                {
                    e.Handled = true;
                }
            }
            else
            {
                e.Handled = true;
            }
        }
限制只能输入数字:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
            if ((e.KeyChar >= '0' && e.KeyChar <= '9')  || (byte)(e.KeyChar) == 8)//8就是回格,backspace(删除).
            {
            }
            else
            {
                e.Handled = true;
            }
}

winform 激活窗体后 焦点在某个文本框:

有两种方法:设置TabIndex 为0 焦点就在此文本框;

                    窗体的active事件下 加入 textbox.focus();

private void textbox_Actived(object sender,EventArgs e)

{

     textBox1.Focus();

}

你可能感兴趣的:(C#,WinForm)