Введите текстовое поле 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