private string selPath(string key) { var src = ""; folderBrowserDialog1.SelectedPath = INI.ReadINI("上次选择路径", key); while (!Directory.Exists(src)) { var result = folderBrowserDialog1.ShowDialog(); src = folderBrowserDialog1.SelectedPath; } INI.WriteINI("上次选择路径", key, src); return(src); }
private void 真回调函数(List <TreeNode> curNodes) { var curNode = curNodes[0]; INI.WriteINI("盘符上次遍历时间", curNode.Name + "", (DateTime.Now - 开始执行搜索盘符内容的时间).ToString("c")); //treeView1.Nodes.Remove(tn); //treeView1.Nodes.Add(tn); //AddChildNode(treeView1.Nodes[0].Parent, curNode, true); SetNodeIdx(curNode, 3); curNodes.Remove(curNode); if (curNodes.Count == 0) { timer1.Stop(); lab2set(""); //label2.Text = "";//异步操作控件 return; } //IAsyncResult: 异步操作接口(interface) //BeginInvoke: 委托(delegate)的一个异步方法的开始 // 委托参数,回调函数,回调函数中的result.AsyncState对象 开始执行搜索盘符内容的时间 = DateTime.Now; }
private void checkedListBox1_MouseDoubleClick(object sender, MouseEventArgs e) { if (sender == checkedListBox1 && listBox1.SelectedItem == "分组") { checkedListBox2.Items.Clear(); DialogResult dr = MessageBox.Show("是:添加子节点(必须先选择一个节点);否:添加同级节点", "温馨提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (dr == DialogResult.Yes) { if (checkedListBox1.CheckedItems.Count == 0) { MessageBox.Show("必须选择一个节点!"); return; } else if (checkedListBox1.CheckedItems.Count > 1) { dr = MessageBox.Show("添加子节点必须只选择一个节点,点击是则取消所有节点的选择", "温馨提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (dr != DialogResult.Yes) { return; } for (var i = checkedListBox1.CheckedItems.Count - 1; i >= 0; i--) { checkedListBox1.SetItemCheckState( checkedListBox1.Items.IndexOf(checkedListBox1.CheckedItems[i]), CheckState.Unchecked); } return; } var curKey = checkedListBox1.CheckedItems[0].ToString(); var txt = ""; while (true) { txt = Interaction.InputBox("请输入子节点名,首位字符必须为‘.’", "正在为【" + curKey + "】添加子节点", ".", -1, -1).Trim().ToLower(); if (txt == "") { dr = MessageBox.Show("是否取消录入节点", "温馨提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (dr == DialogResult.Yes) { return; } } else if (自定义类别[curKey].Contains(txt)) { MessageBox.Show("已有重名节点!"); } else { break; } } if (!自定义类别.ContainsKey(curKey)) { 自定义类别.Add(curKey, new List <string>()); } INI.WriteINI(curKey, curKey + 自定义类别[curKey].Count , txt); 自定义类别[curKey].Add(txt); } else if (dr == DialogResult.No) { var txt = ""; while (true) { txt = Interaction.InputBox("请输入同级节点名称,不允许为空", "", "", -1, -1).Trim(); if (txt == "") { dr = MessageBox.Show("是否取消录入节点", "温馨提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (dr == DialogResult.Yes) { return; } } else if (分组.Contains(txt)) { MessageBox.Show("已有重名节点!"); } else { break; } } INI.WriteINI("分组", "分组" + 分组.Count, txt); 分组.Add(txt); MessageBox.Show("如需使用新节点,请重新选择左侧!"); } foreach (string curKey in checkedListBox1.CheckedItems) { foreach (var s in 自定义类别[curKey]) { checkedListBox2.Items.Add(s, true); } } } }