【问题标题】:Do not allow Enter Key to make a new line in MultiLine TextBox C#不允许 Enter 键在 MultiLine TextBox C# 中创建新行
【发布时间】:2014-09-06 13:53:09
【问题描述】:

我设置属性Multiline=true;

我不想让 Enter 键换行。

我该如何解决这个问题?

【问题讨论】:

  • 那你为什么有MultiLine?
  • 因为输入的文字很长,容易看。和 Enter 键插入数据
  • 您是否希望阻止编辑? ReadOnly 属性可以做到这一点
  • 没有人,可以编辑和输入文本,但我不想换行

标签: c# winforms textbox multiline


【解决方案1】:

这可能就像监听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;
}

【讨论】:

    【解决方案2】:

    好吧,我参加聚会已经很晚了,但是对于阅读本文的其他人,我会提到有一个名为 TextBox.AcceptsReturn (Boolean) 的属性。

    在TextBox的属性窗口中设置即可。

    反过来我也遇到了同样的问题:我有一个多行文本框,但它不允许我输入 Returns。

    更多信息在这里:
    https://docs.microsoft.com/dotnet/api/system.windows.forms.textbox.acceptsreturn?view=net-5.0

    【讨论】:

      猜你喜欢
      • 2014-02-12
      • 1970-01-01
      • 1970-01-01
      • 2011-02-26
      • 2021-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      相关资源
      最近更新 更多