TextBox只输入数字(包括负号和小数点)
今天拿到一个修改TextBox控件只输入文本的逻辑判断的任务,然后写了写,代码如下,可能存在不足,万分感谢!
///<summary>///限制文本框只能相应数字、负号、删除、左右箭头、点的按键///</summary>privatevoidtxbX_KeyDown(objectsender,KeyEventArgse){stringm_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){caseKeys.OemPeriod:if(m_str.Contains('.')){e.SuppressKeyPress=true;}else{if(m_str.Trim().Length==0){e.SuppressKeyPress=true;}}break;caseKeys.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 表示还将该事件传递给默认控件处理程序。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。