簡體   English   中英

覆蓋文本框中的 Ctrl 鍵?

[英]Override Ctrl key in TextBox?

是否可以讓文本框忽略Ctrl +字符功能並為 ctrl 鍵重新分配不同的用途?

情況:我在一個表單上有多個文本框。 理想情況下,我希望文本框在輸入單個字符后從一個文本框跳轉到另一個文本框。 然而,文本框可以有多個輸入,在這種情況下,我希望用戶在輸入多個字符時按住ctrl以保持在文本框上。

本質上,我希望我的ctrl (如果按住)阻止文本框跳躍。

我嘗試使用OnKeyDownOnKeyUpTextChanged事件的組合來處理按下Ctrl鍵時的事件,但最后,一旦按住 Ctrl鍵,我就無法輸入任何數據。 有沒有解決的辦法?

這樣做的原因是因為 95% 的時間它總是 1 個字符。 因此,為了快速遍歷文本框,用戶將點擊單個字符。 然而,在用戶想要輸入 2 位數字的可能性中,他們可以按住Ctrl (因此它不會跳到下一個文本框)並根據需要輸入 2 位數字。

就像評論者所說的那樣,從用戶界面的角度來看,可能有更好的方法來做到這一點。 你會按CTRL來防止切換文本框是一種奇怪的行為。 話雖如此,在 KeyDown 中使用以下內容應該可以幫助您完成您想要做的事情。

if (!(e.Control && char.IsLetterOrDigit((char) e.KeyCode)))
{
    return;
}

txtBox.Text += (new KeysConverter()).ConvertToString(e.KeyCode);
e.Handled = true;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM