private void InitToolsByIndex(TreeNode nodeSetting, int settingKey) { nodeSetting.Nodes.Clear(); int index = 0; CreateImage.CreateImageTool tool = ToolsFactory.GetToolList(settingKey)[0] as CreateImage.CreateImageTool; string isOffLineStr = tool.OffLineMode ? "--离线" : ""; foreach (ToolBase item in ToolsFactory.GetToolList(settingKey)) { TreeNode nodeTool = new TreeNode(); nodeTool.Name = index.ToString(); //有了这个Name,可以根据name的int值来确定该节点对应的工具。 nodeTool.Text = string.Format("{0} {1}", item.Name, item.Note + isOffLineStr); nodeTool.SelectedImageIndex = 1; //处于选定状态的图标 nodeTool.ForeColor = tool.OffLineMode ? Color.Blue : Color.Black; nodeSetting.Nodes.Add(nodeTool); index++; } InitStatus(settingKey); }
public void InitTreeView() { try { int count = ToolsFactory.ToolsDic.Count; //ToolGroupsChangeEventArgs args = new ToolGroupsChangeEventArgs(); if (ToolGroupsChangeEvent != null) { tgce.ToolGroupsNum = 0; ToolGroupsChangeEvent(this, tgce); } ToolsCameraIndexDic.Clear(); treeViewAllTools.Nodes.Clear(); foreach (int settingKey in ToolsFactory.ToolsDic.Keys) { CreateImage.CreateImageTool tool = ToolsFactory.ToolsDic[settingKey][0] as CreateImage.CreateImageTool; int cameraIndex = tool.CameraIndex; TreeNode nodeSetting = AddSettingNode(settingKey, cameraIndex); InitToolsByIndex(nodeSetting, settingKey); if (ToolGroupsChangeEvent != null) { tgce.ToolGroupsNum = settingKey; ToolGroupsChangeEvent(this, tgce); } ToolsCameraIndexDic.Add(settingKey, cameraIndex); //if (settingKey == cameracount) // break; } CurrentSettingKey = 1; treeViewAllTools.ExpandAll(); if (treeViewAllTools.Nodes.Count > 0) { treeViewAllTools.SelectedNode = treeViewAllTools.Nodes[0]; } } catch (Exception) { Common.Util.Notify(Common.Basic.Level.Err, "工具视图初始化失败!"); } }