首页 > 解决方案 > Wpf RichTextBox 将键更改为换行符;

问题描述

我可以使用 Enter 键开始新行,但我可以使用 Ctrl+Enter 代替吗?

我想用 Enter 键做其他事情。

我尝试的 KeyDown 事件不起作用。

当我按 Enter 时,它总是开始一个新行。

标签: c#.netwpf

解决方案


您可以通过为 PreviewKeyDown 事件创建事件处理程序来设置属性的值AcceptsReturn并处理 ctrl + enter 键,如下所示:false

(rtb 是 RichTextBox 的名称)

private void RichTextBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Enter && Keyboard.IsKeyDown(Key.LeftCtrl))
    {
        // do whatever you want
        // if u want to add a new line just uncomment the next lines
        // rtb.AppendText(Environment.NewLine);
        // rtb.CaretPosition = rtb.CaretPosition.DocumentEnd;
        e.Handled = true;
    }
}

推荐阅读