禁用文本框中的Enter键

时间:2013-08-07 17:52:58

标签: c#

我正在开发一个聊天系统。我有一个按钮将文本框中的文本发送到聊天记录。如何阻止用户按Enter键并禁用Enter键。我知道有很多这样的帖子,但解决方案对我没用。

3 个答案:

答案 0 :(得分:4)

我认为您不需要阻止用户按Enter键,而是按Enter键将聊天发送给其他人。

此外,如果您还有其他任何快捷方式,那么您可以查看此C#: How to make pressing enter in a text box trigger a button, yet still allow shortcuts such as "Ctrl+A" to get through?

使用相同的方法你也可以阻止

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

答案 1 :(得分:2)

您可以尝试这样的事情: -

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

答案 2 :(得分:1)

至少可以说你的问题有点含糊不清;但是,文本框控件有一个名为KeyDown的事件:http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keydown.aspx

这样,您可以在按下Enter时捕获并根据需要修改和行为,这是一个示例

private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (Keys.Enter == e.KeyCode)
        {
            MessageBox.Show("Enter Was Pressed");
            textBox1.Text = new String(textBox1.Text.Where((ch, i) => i < textBox1.Text.Length - 2).ToArray());
            textBox1.SelectionStart = textBox1.Text.Length;
        }
    }