2

「元に戻す」がトリガーされたかどうか、およびそれが my の内容に影響を与えたかどうかを検出できる必要がありますRichTextBox

その瞬間にコンテンツを入力してRichTextBoxを押すCtrl+Zと、windows が取り消しを処理してくれるようです。その直後にトリガーされるコードを書けるようになりたいです。私は周りを見回しており、何も見つかりません。

前もって感謝します。

4

5 に答える 5

2

.Net 3.0 から、元に戻すコマンド (特に) が実行されたときに通知を受け取る簡単な組み込みの方法があります。

CommandManager.RegisterClassCommandBinding(typeof(MyClass),
    new CommandBinding(ApplicationCommands.Undo, OnUndo));

静的コンストラクター (または別の場所) で次のコード行を呼び出し、静的メソッドを追加するだけです。

private static void OnUndo(object sender, ExecutedRoutedEventArgs e)
{
    //your code
}
于 2014-10-15T07:09:53.543 に答える
1

WINFORM :

KeyDownイベントを悪用して、Ctrl+Zが押されたかどうかを検出できます。

richTextBox.KeyDown += new KeyEventHandler(richTextBox_KeyDown);

private void richTextBox_KeyDown(object sender, KeyEventArgs e){
    if (e.Modifiers == Keys.Control && e.KeyCode == Keys.Z){
        //undo detected, do something
    }
}

WPF :

richTextBox.KeyUp += new KeyEventHandler(richTextBox_KeyUp);

void richTextBox_KeyUp(object sender, KeyEventArgs e) {
    if (Keyboard.Modifiers == ModifierKeys.Control && e.Key == Key.Z) {
        //undo detected, do something
    }
}
于 2013-04-23T16:13:52.747 に答える