Введите текстовое поле Windows Forms Enter
У меня есть TextBox, но я не могу найти источник, объясняющий, как вызвать функцию при нажатии кнопки.
public Simple()
{
Text = "Server Command Line";
Size = new Size(800, 400);
CenterToScreen();
Button button = new Button();
TextBox txt = new TextBox ();
txt.Location = new Point (20, Size.Height - 70);
txt.Size = new Size (600, 30);
txt.Parent = this;
button.Text = "SEND";
button.Size = new Size (50, 20);
button.Location = new Point(620, Size.Height-70);
button.Parent = this;
button.Click += new EventHandler(Submit);
}
Некоторые источники говорят мне использовать функцию, но я не понимаю, как она будет вызвана.
Ответы
Ответ 1
Если я правильно понял, вы хотите вызвать метод, когда пользователи нажимают Enter
при вводе чего-либо в текстовое поле? Если это так, вы должны использовать KeyUp
событие TextBox
следующим образом:
public Simple()
{
Text = "Server Command Line";
...
TextBox txt = new TextBox ();
txt.Location = new Point (20, Size.Height - 70);
txt.Size = new Size (600, 30);
txt.KeyUp += TextBoxKeyUp; //here we attach the event
txt.Parent = this;
Button button = new Button();
...
}
private void TextBoxKeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
//Do something
e.Handled = true;
}
}
Ответ 2
у вас уже есть кнопка, аналогичная этой
button.Click += new EventHandler(Submit);
если вы хотите вызвать эту функцию, вы можете сделать это
button.PerformClick(); //this will call Submit you specified in the above statement