2013-08-05 2 views
10

У меня есть TextBox, но я не могу найти источник, объясняющие, как вызвать функцию, когда кнопка нажата.Windows Forms 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); 
} 

Некоторые источники говорят мне использовать функцию, но я не понимаю, как она будет вызвана.

+0

вы хотите вызвать событие нажатия кнопки будет делать, когда пользователь вводит что-то в текстовом поле? –

+2

Могу ли я рекомендовать вам сначала посетить эту страницу и посмотреть вокруг: http://msdn.microsoft.com/en-us/library/vstudio/dd492171.aspx –

+0

Не забудьте понять ваш вопрос. –

ответ

24

Если я правильно понял, вы хотите вызвать метод, когда пользователи нажимают 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; 
    } 
} 
+0

Выполнение события KeyDown и добавление 'e.SuppressKeyPress = true;' предотвращает появление шума при нажатии Enter. – hellyale

2

у вас уже есть кнопка, а как этот

button.Click += new EventHandler(Submit); 

, если вы хотите, чтобы вызвать эту функцию вы можете сделать это

button.PerformClick(); //this will call Submit you specified in the above statement 
Смежные вопросы