2010-01-21 50 views
3

我剛剛在TextBox中實現了一個快速自動填充功能,該功能從相當小的列表中拉出字符串並「完成」單詞。 TextBox插入符號停留在它最後一次按鍵所在的位置,並且用戶尚未輸入的單詞部分會突出顯示,從而開始輸入其他內容將刪除此部分輸入。覆蓋文本框中的默認鍵行爲

堅持者是我需要這樣做,當完成和部分突出顯示時,空格鍵作爲「接受」鍵 - 例如它會將脫字符移動到完成單詞的末尾。然而,無論我看起來如何擊中空間,都會刪除突出顯示的單詞部分(用空格字符替換它,就像您擊中任何其他鍵一樣)。

我已經試過這樣:

private void textBoxIncidentLogTypes_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Key == Key.Space) 
    { 
     textBoxIncidentLogTypes.CaretIndex = textBoxIncidentLogTypes.Text.Length; 
    } 
} 

不過,雖然這「作品」,它被後被解僱空格鍵已經拆除一語中最好的部分。有沒有辦法在鍵入TextBox之前捕獲按鍵?

回答