我想在多行文本框中禁用新行。我正在使用多行文本框,因为该字段包含很长的描述。另外,我在下面的文本框中设置了下一个焦点:
if (e.KeyChar == 13)
SendKeys.Send("\t");
我在Keypress事件中这样做,但它的作用是在文本框中设置一个新行。此外,当我在选择文本时按Enter键时,它会清除该框并创建一个新行。
非常感谢任何帮助。
我想阻止新行并将下一个焦点设置在Enter键上。
答案 0 :(得分:2)
我建议您使用KeyDown
事件代替KeyPress
,以便您可以压制事件并实现预期结果
private void Txtbx_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode.Equals(Keys.Enter))
{
SendKeys.Send("{TAB}");
e.SuppressKeyPress = true;
}
}
答案 1 :(得分:1)
您应该尝试使用SelectNextControl() - Method(在文本框上)而不是SendKeys。另请参阅https://msdn.microsoft.com/en-us/library/system.windows.forms.control.selectnextcontrol(v=vs.110).aspx