今天拿到一个修改TextBox控件只输入文本的逻辑判断的任务,然后写了写,代码如下,可能存在不足,万分感谢!
/// <summary> /// 限制文本框只能相应数字、负号、删除、左右箭头、点的按键 /// </summary> private void txbX_KeyDown(object sender, KeyEventArgs e) { string m_str = ((TextBox)sender).Text; if (((e.KeyCode>=Keys.D0&&e.KeyCode <= Keys.D9)||e.KeyCode == Keys.OemMinus||e.KeyCode == Keys.OemPeriod||e.KeyCode == Keys.Back||e.KeyCode == Keys.Delete||e.KeyCode == Keys.Left||e.KeyCode == Keys.Right)&&!e.Shift) { switch(e.KeyCode) { case Keys.OemPeriod: if (m_str.Contains('.')) { e.SuppressKeyPress = true; } else { if (m_str.Trim().Length == 0) { e.SuppressKeyPress = true; } } break; case Keys.OemMinus: if (m_str.Contains('-')) { e.SuppressKeyPress = true; } else { if (((TextBox)sender).SelectionStart != 0) { e.SuppressKeyPress = true; } } break; default: break; } } else { e.SuppressKeyPress = true; } }
有点小收获就是,知道了KeyEventArgs . SuppressKeyPress 属性和KeyEventArgs . Handled 属性的一点小区别。
KeyEventArgs . SuppressKeyPress 属性:
KeyEventArgs ..::. Handled 属性:true 表示跳过控件的默认处理;false 表示还将该事件传递给默认控件处理程序。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。