我正在开发一个聊天系统。我有一个按钮可以将文本框中的文本发送到聊天日志。我将如何阻止用户按 Enter 键并禁用 Enter 键。我知道有很多这样的帖子,但解决方案对我不起作用。
问问题
18394 次
3 回答
4
你可以尝试这样的事情: -
if (e.KeyCode == Keys.Enter)
{
e.SuppressKeyPress = true;
}
于 2013-08-07T17:57:00.620 回答
4
我认为您不需要阻止用户按 Enter 键,而是在按 Enter 键时将聊天发送给其他人。
此外,如果您有任何其他允许使用的快捷方式,那么您可以查看此C#:如何使在文本框中按 Enter 触发按钮,但仍允许诸如“Ctrl+A”之类的快捷方式通过?
使用相同的,你也可以阻止
private void textBoxToSubmit_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
e.SuppressKeyPress=true;
}
}
于 2013-08-07T18:10:10.837 回答
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;
}
}
于 2013-08-07T18:19:33.160 回答