我的代码是:
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"
因为在那之后,我不能使用滚动条!
请帮忙。
谢谢。
最佳答案
您可以处理PreviewKeyDown
事件...您几乎已经拥有了它,您只需要对(&)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");
}
}
关于c# - 如何在WPF中的RichTextBox中禁用Ctrl + A和Ctrl + C?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19831896/