2017-12-25 11 views
-1

目的は簡単です:ユーザーがテキストボックスに文字を入力すると、この文字が疑問符キー(?)であるかどうかを検出したいと思います。 私は何を使用するか気にしません(テキスト変更、キーダウンなど...) ドイツ語のキーボードレイアウトに取り組んでいるため、キーボードとは独立したソリューションが必要です(例:e.Key = Keys.OemQuestion isn私は、プラス(+)キーを押したときに「トン作業は、それは)キーボードから独立した疑問符を検出する

編集を発射:私は、\ u0095とe.Key.ToStringを(返さConvert.toString((文字)e.Key)を試してみました)返されたOemOpenBrackets

+0

'textBox1_KeyPress(オブジェクト送信者、KeyPressEventArgs e)' ..'if(e.Ke yChar == '?'){...} '? –

+1

キーボードから独立させたいのであれば、なぜ 'e.KeyChar'ではなく' e.Key'をチェックしていますか? –

+0

@DmitryBychenko私はWPFで作業しているので、KeyPressはありませんが、(char)e.Keyと同様のコードを使用しましたが、結果として '?'しかし '\ u0095' – Shmosi

答えて

0

@HansPassantからソリューションを選択し、TextInputイベントで処理しました。コンストラクタで

まず:

InitializeComponent(); 
CommandTextBox.AddHandler(TextBox.TextInputEvent, new TextCompositionEventHandler(CommandTextBox_TextInput), true); 

あなたが実際のTextInput

if(e.Text == "?") 
{ 
    //Do something 
} 

にイベント

を発射するために、このコードが必要です。注: これはスペース、コントロール、シフトをキャプチャしません。