我有一个多行文本框,我试图实现快捷键选择全部,复制,粘贴等(多行似乎禁用了一些本机快捷方式)。如果在Control KeyDown上,我有一个KeyCode开关内的代码。
case Keys.A:
e.Handled = true;
textBox3.Text = textBox3.Text.Replace(Environment.NewLine, "");
textBox3.SelectAll();
break;
case Keys.C:
e.Handled = true;
if (textBox3.SelectedText.Length > 0)
{
Clipboard.SetText(textBox3.SelectedText);
}
break;
case Keys.V:
e.Handled = true;
textBox3.Paste(Clipboard.GetText().Replace(Environment.NewLine, ""));
break;
前两个工作正常,但我无法抑制(Ctrl + V)的正常操作(我想在粘贴前删除换行符)。我不知道造成这种情况的原因,所以任何想法都会很棒。
感谢。
答案 0 :(得分:0)
我必须为所有相同的键添加一个PreviewKeyDown
处理程序,将e.IsInputKey
设置为true。另外,我必须在普通的keydown处理程序中添加e.SuppressKeyPress = true;
。