不允许Enter键在MultiLine TextBox C中创建一个新行#

时间:2014-09-06 13:53:10

标签: c# winforms textbox multiline

我设置了属性Multiline=true;

我不想让Enter键换行。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:6)

这可能就像收听TextChanged事件然后在其中执行以下行一样简单:

txtYourTextBox.Text = txtYourTextBox.Text.Replace(Environment.NewLine, "");

此解决方案涉及一些屏幕闪烁。更好的方法是通过收听KeyDown事件来完全阻止它:

private void txtYourTextBox_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
        e.SuppressKeyPress=true;
}

答案 1 :(得分:0)

嗯,我参加聚会很晚了,但是对于其他读过这篇文章的人,我会提到有一个名为TextBox.AcceptsReturn(布尔值)的属性。

只需在文本框的属性窗口中进行设置即可。

相反,我遇到了同样的问题:我有一个多行TextBox,但是它不允许我输入Returns。

此处的其他信息:
https://docs.microsoft.com/dotnet/api/system.windows.forms.textbox.acceptsreturn?view=net-5.0