4

私はすべてのトンネリング イベントとバブリング イベントで WPF を使用してきましたが、それらは単に素晴らしく強力であると言わざるを得ません。
しかし、私がいつも疑問に思うのは、[ PreviewKeyUp と KeyUp ] または [ PreviewKeyDown と Keydown ]のどちらを使用するかということです。

キーの押下に反応するにはどの組み合わせを使用する必要がありますか?またその理由は?

4

2 に答える 2

5

何をしたいかによって異なります:

  1. PreviewKeyDown = キーが押される前
    例: テキスト ボックスにイベントがある場合、現在押されているキーは TextBox.Text に追加されません。
  2. PreviewKeyUp = キーを離す前
  3. KeyDown = キーが押された後
    例: テキストボックスにイベントがある場合、現在押されているキーが TextBox.Text に追加されます
  4. KeyUp = キーを離した後

繰り返しますが、それはあなたが何をしたいかによって異なります。TextBox 検証を追加する場合は、PreviewKeyDown を使用してテキストが正しくない場合は無視します。

ユーザーが SPACE を離したときに何かをしたい場合は、KeyUp を使用します

于 2012-02-02T17:30:38.070 に答える
0

それはすべて状況に依存します。たとえば、リスト内のアイテムを選択すると、キーを押したまま選択したアイテムを変更できるように、KeyDownになります。

ボタンなど、複数の視覚的状態を持つ要素がある場合、KeyDownは視覚的状態を変更する可能性があり、KeyUpは視覚的状態を元の状態に戻し、コマンドを実行します。

あなたの状況では、イベントをいつ発生させたいかによって異なりますが、用途が異なるため、どちらかがもう一方よりも優れているとは言えません。

于 2012-02-02T17:23:07.477 に答える