2011-01-17 4 views
1

Ich paste Text in textbox1.text und ich brauche textbox1 sollte sein Leave Event von selbst auslösen.Wie erzwinge die Steuerung, um das Ereignis in winforms mit C# zu löschen?

Für jetzt verwende ich diesen folgenden Code. aber ich werde es begrüßen, wenn jemand kann mir einen eleganten oder besseren Weg vorschlagen: -

private void event() 
{ 
    textbox1.Text = SearchedText; 
    textbox1.Focus(); 
    textbox2.Focus(); 
} 

Zuerst Ich bin Einfügen von Text, dann Fokus Einrichten auf der Kontrolle, dann Fokus wieder auf dem zweite Steuer eingerichtet. Es wird leave-Ereignis von textbox1 ausgelöst, aber irgendetwas besser?

Antwort

3

Sie sollten die Ereignisse TextChanged oder Validated anstelle des Ereignisses Leave behandeln.

4

einfach den Code direkt anrufen, keine Notwendigkeit für ein Ereignis warten:

private void textBox1_Leave(object sender, EventArgs e) { 
     mumble(); 
    } 
    private void someEvent() { 
     textBox1.Text = SearchedText; 
     mumble(); 
    } 
    void mumble() { 
     // etc... 
    } 

Gerade textBox1_Leave Aufruf (this, EventArgs.Empty) funktioniert auch in Ordnung.

Verwandte Themen