2013-08-05 11 views
10

Ich habe eine TextBox, aber ich kann keine Quelle finden, die erklärt, wie man eine Funktion aufruft, wenn eine Taste gedrückt wird.Windows Forms Textfeld Enter-Taste

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

Einige Quellen sagen mir, eine Funktion zu verwenden, aber ich verstehe nicht, wie es aufgerufen wird.

+0

Möchten Sie das Klickereignis der Schaltfläche aufrufen, wenn der Benutzer etwas in das Textfeld eingibt? –

+2

Kann ich Ihnen empfehlen, diese Seite zuerst zu besuchen und sich umzusehen: http://msdn.microsoft.com/en-us/library/vstudio/dd492171.aspx –

+0

Nicht sicher, Ihre Frage zu verstehen. –

Antwort

24

Wenn ich richtig verstanden habe, möchten Sie eine Methode aufrufen, wenn Benutzer Enter drücken, während Sie etwas in Textbox eingeben? Wenn ja, müssen Sie das KeyUp Ereignis von TextBox wie folgt verwenden:

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

Wenn stattdessen das KeyDown-Ereignis ausgeführt wird und 'e.SuppressKeyPress = true;' hinzugefügt wird, wird verhindert, dass beim Drücken der Eingabetaste ein Rauschen erzeugt wird – hellyale

2

Sie bereits einen Knopf haben auch ähnliche

button.Click += new EventHandler(Submit); 

, wenn Sie diese Funktion aufrufen möchten, können Sie diese

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