public partial class KonktatSuchen : Form { internal string m_queryserach = "SELECT Anrede, Vorname, Nachname, Firma, Zusatzinformationsid, Position, Briefanrede, Email, [Email 1], Webseite, [Telefonnr Geschäftlich], [Telefonnr Geschäftlich1], " + " [Fax Geschäftlich], [Mobiltelefon Geschäftlich], [Adresse Straße Geschäftlich], [Adresse Ort Geschäftlich], [Adresse PLZ Geschäftlich], "+ "[Adresse Bundesland Geschäftlich], [Adresse Land Geschäftlich] FROM Kontakte"; private delegate void MethodDelegate(DataTable p_table); public KonktatSuchen() { InitializeComponent(); MethodDelegate _dele = this.FillDatatable; } private void KonktatSuchen_Shown(object sender, EventArgs e) { //Datagrid in einem eigenen "thread" füllen, damit Programm nicht 2-3 Sekunden einfriert m_backgroundWorker1.RunWorkerAsync(m_queryserach); } private void FillDatatable(DataTable p_table) { m_dataGridView1.DataSource = p_table; } private void m_backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { DataTable _data = Settings.m_Db.ExecuteQueryReturnDataTable(e.Argument.ToString()); // anonyme methode //this.Invoke(new MethodInvoker( delegate() { m_dataGridView1.DataSource = _data; })); this.Invoke(new MethodDelegate(new object[] {_data})); }