private void toolStripButtonCleanup_Click(object sender, EventArgs e) { this.Cursor = System.Windows.Forms.Cursors.WaitCursor; List <TreeNodeConnectionItem> delItems = new List <TreeNodeConnectionItem>(); for (int i = 0; i < treeView1.Nodes.Count; i++) { TreeNodeConnectionItem tc = treeView1.Nodes[i] as TreeNodeConnectionItem; if (tc != null) { tc.OnSelected(); ConnectionItem ci = tc.OwnerItem; if (ci != null) { if (string.IsNullOrEmpty(ci.DatabaseType) && string.IsNullOrEmpty(ci.ConnectionStringPlain)) { delItems.Add(tc); } } else { delItems.Add(tc); } } } foreach (TreeNodeConnectionItem tn in delItems) { ConnectionItem ci = tn.OwnerItem; if (ci != null) { if (propertyGrid1.SelectedObject == ci) { propertyGrid1.SelectedObject = null; } if (System.IO.File.Exists(ci.FullFilePath)) { try { System.IO.File.Delete(ci.FullFilePath); } catch (Exception err) { MessageBox.Show(this, err.Message, "Remove Database Connection", MessageBoxButtons.OK, MessageBoxIcon.Error); } } _connectionList.Remove(ci); ConnectionConfig.RemoveConnection(ci.ConnectionObject.ConnectionGuid); } tn.Remove(); } this.Cursor = System.Windows.Forms.Cursors.Default; }
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { save(); if (e != null) { TreeNodeConnectionItem tc = e.Node as TreeNodeConnectionItem; if (tc == null && e.Node != null) { tc = e.Node.Parent as TreeNodeConnectionItem; } if (tc != null) { tc.OnSelected(); propertyGrid1.SelectedObject = tc.OwnerItem; } else { propertyGrid1.SelectedObject = null; } } }