您好,登錄后才能下訂單哦!
今天拿到一個修改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 表示還將該事件傳遞給默認控件處理程序。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。