禁用文本框中的Enter键
本文关键字:Enter 文本 | 更新日期: 2023-09-27 18:26:50
我正在开发一个聊天系统。我有一个按钮,可以将文本框中的文本发送到聊天日志。我将如何阻止用户按Enter键并禁用Enter键。我知道有很多这样的帖子,但这些解决方案对我来说并不奏效。
您可以尝试以下操作:-
if (e.KeyCode == Keys.Enter)
{
e.SuppressKeyPress = true;
}
我认为您不需要阻止用户按enter键,而是在按enter键时将聊天发送给其他人。
同样,如果你有任何其他的快捷方式可以被允许,那么你可以看看这个C#:如何让按下文本框中的回车键触发按钮,但仍然允许诸如";Ctrl+A";通过吗?
使用相同的功能也可以阻止
private void textBoxToSubmit_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
e.SuppressKeyPress=true;
}
}
至少可以说,您的问题有点模棱两可;但是,文本框控件有一个名为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;
}
}