我想要一個接受TAB鍵的文本框(並將TAB,ASCII 0x09,\ t相應地放入文本框中)而不是跳轉到下一個控件。該TextBox有一個屬性AcceptsTab,我已經設置爲true,但是這並不能提供所需的結果。事實證明,AcceptsTab屬性只有在Multiline設置爲true時才起作用。不過,我想要一個不接受換行符的單行文本框。允許用戶插入一個選項卡到文本框中但不是換行
2
A
回答
4
這就是你要做的。創建自己的繼承自TextBox的類。在構造函數中,將multiline設置爲true,並將AcceptsTab設置爲true。然後,覆蓋的WndProc,並使用此代碼:
protected override void WndProc(ref Message m)
{
if (m.Msg == (int)0x102 && m.WParam.ToInt32() == 13)
{
return;
}
base.WndProc(ref m);
}
這將阻止被接受,因此新線將不會創建回車鍵。哈克?是的,但它會工作..
編輯:我會解釋這段代碼做了什麼。每一個窗體窗體和控件在發生什麼事情時都會得到一個windows消息,比如paint,key down等等......在這種情況下,我正在尋找一個WM_CHAR消息(它是0x102),它是告訴TextBox的消息鍵被按下。如果這是消息,並且WParam == 13,那麼這意味着Enter被按下,在這種情況下,返回,什麼都不做。否則,按預期恢復。說得通?
0
相關問題
- 1. 不允許用戶點擊選項卡
- 2. 允許空文本框,但不允許輸入無效
- 3. 是否有一個Jquery插件來替換允許用戶輸入自己選項的選擇標籤?
- 4. TextBox允許文本輸入但不顯示插入符
- 5. 只允許在選擇框中選擇一個選項多個
- 6. 如何不允許用戶輸入數字的文本框
- 7. 製作一個允許用戶選擇文件的對話框
- 8. 允許用戶在文本框中輸入轉義字符
- 9. 限制用戶輸入0作爲第一個字符,但允許在文本框中輸入10
- 10. MVC中的兩個複選框,但一次只允許一個複選框
- 11. 允許用戶鍵入多個值而不是選擇
- 12. 允許用戶只輸入文本?
- 13. 允許Chart.js使用jQuery選項卡
- 14. 在rbash中允許選項卡完成
- 15. 允許在UITableViewDataSource的一個實例中刷卡刪除,但不是另一個
- 16. 自動選項卡下一個空白文本輸入框
- 17. 輸入文本框字段只允許字符不允許數字,但允許空間?
- 18. Android進度條不允許切換選項卡
- 19. 如何允許或禁止用戶在pagecontrol中輸入選項卡?
- 20. 允許文本框被調整,但沒有對用戶輸入的成長
- 21. 允許用戶選擇一個目錄
- 22. 將文本框的值插入數組而不是選項
- 23. 允許用戶啓用/禁用選項
- 24. 停止選擇框多個允許用戶選擇多個選項
- 25. CSS用戶選擇:禁用空格選擇,但允許選擇文本
- 26. <選項值不允許選擇第一個選項
- 27. 允許用戶附加多個文件,但可選
- 28. 使用try catch語句僅允許用戶在Button Button事件中輸入一個整數到文本框中
- 29. 我如何允許用戶選項卡鎖定控件?
- 30. 訪問輸入文本框,只有選擇啓用允許searchs
你可以給他添加一些評論,解釋發生了什麼? – 2009-02-22 18:19:00