如果我們可以通過按下按鈕或者等同按下來移動到上一行的開頭,那麼當使用箭頭鍵時,文本框會更快地導航。如果您在使用HTML輸入或textarea的網頁中嘗試此功能,此工作正常。但對於Windows窗體文本框控件它與記事本有相同的行爲。當您按下或向上箭頭鍵時,它會從整個文本的結尾或開始移動光標。使用向上和向下箭頭鍵突出顯示文本時,它也應該有效。像在HTML輸入字段中一樣在WinForm文本框中使箭頭鍵功能正常工作?
有關如何在C#或vb.Net中實現這一點的任何想法?提前致謝。
這裏是當前工作突出,但僅適用於Shift +向下鍵:
if ((keyData == (Keys.Shift | Keys.Down))) {
if (ctl is TextBoxMaskBox) {
var edit = ctl as TextBoxMaskBox;
int selectionLength = edit.MaskBoxSelectionLength;
int remTextLength = edit.MaskBoxText.Length - edit.MaskBoxSelectionLength;
string remText = edit.MaskBoxText.Substring(selectionLength, remTextLength);
if (remText.IndexOf(Environment.NewLine) == -1) {
edit.MaskBoxSelectionLength = edit.MaskBoxText.Length;
return true;
}
}
}
@Yahia,編輯了上述問題和當前工作代碼已提供。 – pogs 2012-04-02 07:44:07