在富文本框中添加新行?

Add a a new line in rich text box?

所以,我正在尝试用 C# 创建一个终端。我为 "shell" 区域选择了一个富文本框,基本上每次用户按下回车键时我都会同时添加一个符号。然而,问题是光标不是在符号前面,而是在新的一行上。这是简单的代码:

terminal.AppendText("\n>");

所以,基本上,如果 space 这里是 | 那么我想要的是:

> |

但我得到的是:

>
|

我知道这可能与更广泛的问题有关,即在按下回车键时如何添加新行。这里还需要什么?

编辑:完整代码

if(e.KeyCode == Keys.Enter) 
{
   AddLine();
}

其中 AddLine() 是:

private void AddLine() 
{
   terminal.AppendText("\n>");
}

温馨提示: terminal是我的windows表单应用中的富文本框。还有,条件语句在富文本框的KeyDown()方法上

您需要阻止回车键处理其在文本框上的操作。尝试将 e.SuppressKeyPress = true; 添加到您的代码中:

private void Terminal_KeyDown(object sender, KeyEventArgs e) {
  if (e.KeyCode == Keys.Enter) {
    e.SuppressKeyPress = true;
    terminal.AppendText("\n>");
  }
}