TextBox
かなり小さなリストから文字列を取り出して単語を「補完」するクイックオートコンプリート機能を実装しました。キャレットはTextBox
最後にキーを押した場所に留まり、ユーザーがまだ入力していない単語の部分が強調表示されるため、別の何かを入力し始めると、入力のこのセクションが削除されます。
こだわりは、完了して部分的に強調表示すると、スペースバーが「受け入れ」キーとして機能するようにする必要があることです。たとえば、キャレットを完了した単語の最後に移動します。ただし、スペースを押すと、単語の強調表示された部分が削除されます(他のキーを押すのと同じように、スペース文字に置き換えられます)。
私はこれを試しました:
private void textBoxIncidentLogTypes_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Space)
{
textBoxIncidentLogTypes.CaretIndex = textBoxIncidentLogTypes.Text.Length;
}
}
しかし、これが「機能」している間は、スペース キーがフレーズの最良の部分を破壊した後に起動されます。に入力される前にキープレスをキャプチャする方法はありますTextBox
か?