/// <summary> /// Action Handler for the Click Event on the <i>Remote Database</i> -> <i>Refresh Fields</i> Menu Item /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void refreshFieldsToolStripMenuItem_Click(object sender, EventArgs e) { toolStripStatusLabel.Text = "Loading Databases..."; try { var DataProvider = DataProviderFactory.createDataProvider(this.db); DataProvider.OnProgress = ((i, database) => { toolStripStatusLabel.Text = "Loading Data from " + database; }); DataProvider.OnSave = (() => { toolStripStatusLabel.Text = "Saving..."; }); await Task.Run(() => DataProvider.RefreshColumns()); } catch (Exception ex) { MessageBox.Show("An error occured while loading data from the remote database" + Environment.NewLine + ex.Message + Environment.NewLine + Environment.NewLine + ex.StackTrace, "Database Compare: Failed to load from remote database", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { toolStripStatusLabel.Text = "Ready"; RefreshFieldsView(); } }