private void CreateTabControl(TypeConfigurationCollection configs, SqlExerciseItem item, TabPage tab) { tab.Controls.Clear(); try { if (configs.ContainsKey(item.Name)) { TypeConfigurationElement typeElement = configs[item.Name]; UserControl uc = typeElement.CreateInstance() as UserControl; if (uc != null) { tab.Controls.Clear(); uc.Dock = DockStyle.Fill; tab.Controls.Add(uc); } else { tabControl1.TabPages.Remove(tab); } } } catch (Exception ex) { MessageBox.Show(string.Format("加载扩展配置控件失败,异常信息:{0}", ex.Message)); //移除扩展配置项 tabControl1.TabPages.Remove(tab); } }
/// <summary> /// 根据配置项的Title查找配置项 /// </summary> /// <param name="title"></param> /// <returns></returns> public SqlExerciseItem GetItemByTitle(string title) { SqlExerciseItem result = null; foreach (SqlExerciseItem item in this._items) { if (item.Title.Equals(title)) { result = item; break; } } return(result); }
/// <summary> /// 根据配置项Name查找配置项 /// </summary> /// <param name="name"></param> /// <returns></returns> public SqlExerciseItem GetItemByName(string name) { SqlExerciseItem result = null; foreach (var item in this._items) { if (item.Name.Equals(name)) { result = item; break; } } return(result); }
/// <summary> /// 从配置文件中解析全部配置项 /// </summary> private void LoadConfigItems() { XmlNodeList treeNodes = _root.SelectNodes("//xx:TreeNodes/xx:TreeNode", _nsmsg); foreach (XmlNode treeNode in treeNodes) { string name = this.GetXmlNodeText(treeNode, "xx:name"); if (string.IsNullOrEmpty(name) == false) { string title = GetXmlNodeText(treeNode, "xx:title"); string description = GetXmlNodeText(treeNode, "xx:description"); SqlExerciseItem item = new SqlExerciseItem(name, title, description); this._items.Add(item); } } }
private void treeView_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node == tree_TnSummary || e.Node == tree_TnConfig) { } else { SqlExerciseItem item = this.tree_config.GetItemByTitle(e.Node.Text); if (item != null) { if (tabControl1.TabPages.Contains(tabPage2) == false) { tabControl1.TabPages.Add(tabPage2); } if (tabControl1.TabPages.Contains(tabPage3) == false) { tabControl1.TabPages.Add(tabPage3); } this.FillConfigPanel(item); } } }
private void FillConfigPanel(SqlExerciseItem item) { CreateTabControl(ServiceMainSettings.GetConfigs().AddinConfigs, item, tabPage1); }