2013-08-05 8 views
10

Mam TextBox, ale nie mogę znaleźć żadnego źródła wyjaśniającego, jak wywołać funkcję po naciśnięciu przycisku.Windows Forms Pole tekstowe Wprowadź klucz

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); 
} 

Niektóre źródła informują mnie o użyciu funkcji, ale nie rozumiem, w jaki sposób zostanie wywołana.

+0

Czy chcesz wywołać zdarzenie click button, gdy użytkownik wpisze coś w polu tekstowym? –

+2

Polecam najpierw odwiedzić tę stronę i zapoznać się z: http://msdn.microsoft.com/en-us/library/vstudio/dd492171.aspx –

+0

Nie mogę zrozumieć Twojego pytania. –

Odpowiedz

24

Jeśli dobrze rozumieć, chcesz wywołać metodę, gdy użytkownicy naciskają Enter podczas pisania czegokolwiek w polu tekstowym? Jeśli tak, to trzeba użyć zdarzenia KeyUp z TextBox tak:

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

Zamiast tego doing zdarzenia KeyDown i dodanie 'e.SuppressKeyPress = true;' zapobiega formie hałas w Enter naciśnij – hellyale

2

masz już przycisk, a także jak to

button.Click += new EventHandler(Submit); 

jeśli chcesz wywołać tej funkcji można zrobić

button.PerformClick(); //this will call Submit you specified in the above statement