在富文本框中添加新行?
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>");
}
}
所以,我正在尝试用 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>");
}
}