2013-11-14 14 views
25

aus. Ich möchte den Code hinter meiner Suchschaltfläche durch Drücken der Taste eingeben. Geben Sie ein. Ich habe die Accept Button-Eigenschaft für meine Suchschaltfläche. Wenn ich meine Schaltfläche jedoch als NICHT sichtbar plaziere, wird meine Suche nicht ausgeführt.Drücken Sie die Eingabetaste in das Textfeld und führen Sie den Tastenbefehl

Ich möchte drücken können Geben Sie innerhalb meines Textfelds und führen Sie meine Schaltfläche, während es nicht sichtbar ist. Irgendwelche Vorschläge wären großartig! Unten ist ein Versuch, meinen Code in KeyDown Ereignis

if (e.KeyCode == Keys.Enter) 
    { 
     buttonSearch_Click((object)sender, (EventArgs)e); 
    } 
+0

Arbeits Bitte teilen Sie Ihre-Code – SK2185

+0

, was meinst du, wenn es nicht sichtbar ist? – Noctis

+0

Oben ist was ich versucht habe. Wenn meine Button-Eigenschaften auf Nicht sichtbar gesetzt sind. –

Antwort

41

Sie sind mit dem KeyDown-Ereignis des Textbox registrieren könnte, aussehen, wenn die gedrückte Taste eingeben und dann die Eventhandler der Schaltfläche ausführen:

private void buttonTest_Click(object sender, EventArgs e) 
{ 
    MessageBox.Show("Hello World"); 
} 

private void textBoxTest_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.KeyCode == Keys.Enter) 
    { 
     buttonTest_Click(this, new EventArgs()); 
    } 
} 
+0

Perfekt gearbeitet! Um dies zu gewährleisten, stellen Sie sicher, dass Ihre "AcceptButton" -Einstellungen auf None gesetzt sind. Ich habe diesen Code verwendet, während mein AcceptButton auf meine Schaltfläche gesetzt war, und es hat nicht funktioniert. Schlechte Arbeit an meinem Ende. Danke allen !! –

1

Sie können KeyDown Ereignis Ihrer TextBox Steuer hanle

private void textBox1_KeyDown(object sender, KeyEventArgs e) 
{ 
    if(e.KeyCode==Keys.Enter) 
    buttonSearch_Click(sender,e); 
} 

es funktioniert Vorabend n Taste Visible Eigenschaft False

6

Alternativ können Sie die .AcceptButton Eigenschaft des Formulars einstellen könnte. Mit der Eingabetaste wird automatisch ein Klickereignis erstellt.

this.AcceptButton = this.buttonSearch; 
+0

Schöne Lösung! :) – PixelZerg

-1
private void textbox1_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Enter) 
     { 
      //cod for run 
     } 
    } 

    private void buttonSearch_Click(object sender, EventArgs e) 
    { 
     textbox1_KeyDown(sender, new KeyEventArgs(Keys.Enter)); 
    } 
1

Wenn Sie nur Gonna auf die Schaltfläche klicken, wenn wurde Enter gedrückt, wie etwa das?

private void textbox1_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Enter) 
     { 
      buttonSearch.PerformClick(); 
     } 
0

In WPF Apps Dieser Code perfekt

private void txt1_KeyDown(object sender, KeyEventArgs e) 
    { 
    if (Keyboard.IsKeyDown(Key.Enter)) 
     { 
       Button_Click(this, new RoutedEventArgs()); 
     } 
    } 
Verwandte Themen