Есть в windows forms ввод текста, чтобы выполнялось действие только после нажатия Enter?

Есть в windows forms ввод текста, чтобы выполнялось действие только после нажатия Enter?

"cyberforum_ru/ delphi-beginners/thread563589.html"
На форме только Edit1 - вводишь текст и жмешь Enter (в данной случае - закрытие окна)

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_RETURN then
Form1.Close;

end;

Просто надо на форму добавить еще элемент, например Edit.
Тогда, если form1.keypreview присвоить true, то код будет работать. Если keypreview присвоить false, то работать не будет.

Чтобы срабатывало на Enter и не было звука вам потребуется 2 события у textbox'а (я думаю у вас именно он):
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) {
if (e.KeyChar == (char)Keys.Enter) e.Handled = true; }

private void textBox1_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyCode == Keys.Enter) {
e.SuppressKeyPress = true;
MessageBox.Show("Working!"); } }

Добавить комментарий