private static ArrayList WalkControls(Control.ControlCollection cc) { ArrayList arl = new ArrayList(); if (cc != null) { foreach (Control c1 in cc) { if (typeof(ToolStripPanel).IsInstanceOfType(c1)) { ToolStripPanel ts = (ToolStripPanel)c1; foreach (Control c in ts.Controls) { arl.Add(new Lewis.SST.Settings.CtrlSettings(c.Name, c.Location, c.Size, ts.Dock.ToString(), c.GetType().ToString())); } } if (typeof(SQLServerExplorer).IsInstanceOfType(c1)) { SQLServerExplorer sse = (SQLServerExplorer)c1; foreach (SQLConnection sql in sse.SQLConnections) { arl.Add(new Lewis.SST.Settings.CtrlSettings(sql.Server, sql.EncryptedConnectionString + "\\" + sql.SavePassword.ToString(), sql.GetType().ToString())); } } arl.AddRange(WalkControls(c1.Controls)); } } return(arl); }
private static void SetControls(Control.ControlCollection cc, CtrlSettings cs) { if (cc != null && cs != null) { foreach (Control c1 in cc) { foreach (CtrlSettings c in cs.ChildCtrlsToPersist) { if (typeof(ToolStripPanel).IsInstanceOfType(c1)) { ToolStripPanel ts = (ToolStripPanel)c1; foreach (Control c2 in ts.Controls) { if (c2.GetType().ToString().Equals(c.Type)) { if (c2.Name.Equals(c.Name)) { if (ts.Dock.ToString().Equals(c.CtrlValue)) { c2.Location = c.Location; c2.Size = c.Size; } else { foreach (Control c3 in ts.Parent.Controls) { if (typeof(ToolStripPanel).IsInstanceOfType(c3)) { ToolStripPanel ts2 = (ToolStripPanel)c3; if (!ts2.Equals(ts)) { if (ts2.Dock.ToString().Equals(c.CtrlValue)) { ts.Controls.Remove(c2); c2.Location = c.Location; c2.Size = c.Size; ts2.Controls.Add(c2); break; } } } } } break; } } } } } if (typeof(SQLServerExplorer).IsInstanceOfType(c1)) { SQLServerExplorer sse = (SQLServerExplorer)c1; foreach (CtrlSettings c in cs.ChildCtrlsToPersist) { if (typeof(SQLConnection).ToString().Equals(c.Type)) { string[] ss = c.CtrlValue.Split(new char[] { '\\' }); bool savePWD = false; if (ss.Length > 1) { savePWD = Convert.ToBoolean(ss[1]); } sse.SQLConnections.AddEncrypted(ss[0], "LLEWIS55", savePWD); } } } SetControls(c1.Controls, cs); } } }