【发布时间】:2014-05-17 15:12:35
【问题描述】:
我想防止 Enter 键使用 KeyDown 事件在多行文本框中创建新行。尽管使用 textBox.Text = "" 或 textBox.Clear() 清除了文本框,但它的行为如下:http://i.imgur.com/3sknAbO.png
private void textBox2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
listBox1.Items.Add(textBox2.Text);
textBox2.Text = "";
}
}
【问题讨论】:
-
您确定要阻止 Enter 键吗?如果用户粘贴一些包含换行符的文本怎么办?
-
我同意 CodeCaster,如果您只想取一行,则使用一行
textbox,否则添加另一个按钮供该人按下以提交textbox。 -
我加入了以前的评论员,但如果你真的需要这样做,那么你使用
KeyUp处理程序并在擦除文本后添加e.Handled = true;。 -
要处理粘贴的文本,请使用
TextBox.TextChanged事件并删除换行符。