2016-08-04 14 views
-1

In meiner Anwendung habe ich Listbox, die aus der Datenbank aktualisiert.Liste aktualisieren auf Ereignisse

Die Veränderungen, die [Tasten] (OnClick Ereignisse) sein kann

  • Einfügen eines neuen Zeile/Zeilen.
  • Zeile/Zeilen löschen.
  • Zeile bearbeiten.
  • Aktualisieren Sie die Liste.

Ich habe eine Funktion, um die Auffrischung zu tun:

public void DBListBoxRefresh() 
{ 
    dbListBox.DataSource = dbPersonList; 
} 

Wie kann ich Ereignis gemacht, das auf jedem Ereignis dieser Art automatisch das Listenfeld neu geladen. oder andere Ideen, wie kann ich es machen, anstatt die Funktion von jedem Ereignis Aufruf

+1

Rufen 'DBListBoxRefresh();' in 'MainForm_Load' und' btnNew_Click'. Sie brauchen keinen Delegierten. Was ist das Problem? –

+0

OK, aber was ist die Verwendung des Delegaten? Sie möchten eine Methode aufrufen. Nennen. Zum Beispiel können Sie schreiben: 'btnNew.Click + = (obj, arg) => DBListBoxRefresh();' und 'this.Load + = (obj, arg) => DBListBoxRefresh();'. –

+0

Ich mache Liste in der App mit allen Ereignissen, die ich brauche, um zu laufen, und wenn ich einen löschen oder hinzufügen muss, wird alles an einem Ort sein –

Antwort

2

Sie einfach mit += für bestimmte Veranstaltung gehen.

Zum Beispiel:

btnMyButton.Click += CustomEventForMyButton; 

private void CustomEventForMyButton(object sender, EventArgs e) 
    { 
     throw new NotImplementedException(); 
    } 
+0

btnMyButton.Click? –

+0

@LeonBarkan Ja, nur als Beispiel. Ich wollte nur zeigen, dass Sie '+ =' operator verwenden können, um ein anderes Ereignis zu dem Steuerelement hinzuzufügen, das Sie verwenden möchten. Für Ihren Fall wäre es "btnNew" und Sie sollten Ihre 'RefreshDBListBox' natürlich innerhalb der' CustomEventForMyButton'-Methode aufrufen, anstatt NotImplementedException zu werfen. – uTeisT

-1

Try this: RefreshDBListBox rdbl = DBListBoxRefresh;

+0

Ich denke, ich habe mich nicht korrekt erklärt, ich werde es zur Frage hinzufügen –

Verwandte Themen