您好,登錄后才能下訂單哦!
今天拿到一個修改TextBox控件只輸入文本的邏輯判斷的任務(wù),然后寫了寫,代碼如下,可能存在不足,萬分感謝!
- /// <summary>
- /// 限制文本框只能相應(yīng)數(shù)字、負號、刪除、左右箭頭、點的按鍵
- /// </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 屬性的一點小區(qū)別。
KeyEventArgs . SuppressKeyPress 屬性:
KeyEventArgs ..::. Handled 屬性:true 表示跳過控件的默認處理;false 表示還將該事件傳遞給默認控件處理程序。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。