private void RefreshList() { if (listView.InvokeRequired) { RefreshListCallback d = new RefreshListCallback(RefreshList); this.BeginInvoke(d); } else { CancelRefreshList(); listView.Items.Clear(); _itemCollection.Clear(); if (_exObject == null) { return; } if (_exObject.Object is SqlFDBImageCatalogClass) { SqlFDBImageCatalogClass layer = (SqlFDBImageCatalogClass)_exObject.Object; _cancelWorker = false; _gui_worker.RunWorkerAsync(layer.ImageList); } else if (_exObject.Object is AccessFDBImageCatalogClass) { AccessFDBImageCatalogClass layer = (AccessFDBImageCatalogClass)_exObject.Object; _cancelWorker = false; //_gui_worker.RunWorkerAsync(layer.ImageList); // // Wirft eine Fehler beim Lesen, wenn List in einem // Workerthread ausgeführt wird... // funzt nur bei SQL Server!! // worker_DoWork(_gui_worker, new DoWorkEventArgs(layer.ImageList)); } else if (_exObject.Object is pgImageCatalogClass) { pgImageCatalogClass layer = (pgImageCatalogClass)_exObject.Object; _cancelWorker = false; _gui_worker.RunWorkerAsync(layer.ImageList); } else if (_exObject.Object is SQLiteFDBImageCatalogClass) { SQLiteFDBImageCatalogClass layer = (SQLiteFDBImageCatalogClass)_exObject.Object; _cancelWorker = false; _gui_worker.RunWorkerAsync(layer.ImageList); } } }
void Notify(int option, string message) { //Option: //1. Connection Died //2. Users information changed (need to update) //3. File Received (Rethink) switch(option) { case 1: //TODO do this MessageBox.Show(message); signOutToolStripMenuItem_Click(); // Console.WriteLine("Connection Died:\n " + message); break; case 2: if (Application.OpenForms[0].InvokeRequired) { RefreshListCallback d = new RefreshListCallback(RefreshFriendsList); this.Invoke(d); } else RefreshFriendsList(); // MessageBox.Show(message); break; case 3: // Console.WriteLine(message); MessageBox.Show(message); break; } //TODO }