1

私のコードは:

   private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if ((e.Key==Key.LeftCtrl && e.Key==Key.C) || (e.Key==Key.RightCtrl && e.Key==Key.C))
        {
            MessageBox.Show("Copy not allowed !");
            e.Handled = true;

        }
    }

またはanother way、、私が試したのは:

    private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if ((e.Key==Key.C) && (Keyboard.Modifiers==ModifierKeys.Control))
        {
            MessageBox.Show("Copy not allowed !");
            e.Handled = true;
        }


    }

しかし、それらは機能しません。

Focusable="False"設定するように言わないでくださいIsHitTestVisible="False"

その後、スクロールバーが使えなくなるからです!

助けてください。ありがとう。

4

4 に答える 4

4

あなたはイベントを処理することができPreviewKeyDownます...あなたはほとんどそれを持っていました.and (&)する必要がありKeyboard.ModifiersましたModifierKeys.Control.

private void PreviewKeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.C && (Keyboard.Modifiers & ModifierKeys.Control) == 
        ModifierKeys.Control)
    {
       MessageBox.Show("CTRL + C was pressed");
    }
}
于 2013-11-07T09:21:37.357 に答える