/// <summary> 获取所有快捷键数据 /// </summary> private void InitKeyList() { List <tShortCutKey> tShortCutKeyList = new ShortcutKeyManageService().GettShortCutKeyList(); tShortCutKeyDataSource = tShortCutKeyList; RefreshTreeView(); }
/// <summary> 窗体创建时加载树节点 /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmShortcutKey_Edit_SelectNode_Load(object sender, EventArgs e) { otTreeView1.AfterSelect -= new TreeViewEventHandler(otTreeView1_AfterSelect); List <tShortCutKey> tShortCutKeyList = new ShortcutKeyManageService().GettShortCutKeyList(); EntityList = tShortCutKeyList; foreach (tShortCutKey tShortCutKeyItem in tShortCutKeyList) { imageList1.Images.Add(tShortCutKeyItem.ShortCutKeyID, tShortCutKeyItem.ShortCutKeyImg.ToImage()); } OTTreeView.TreeViewNodeStruct StructTemp = new OTTreeView.TreeViewNodeStruct() { KeyName = "ShortCutKeyID", ValueName = "ShortCutKeyName", ParentName = "ParentID" }; otTreeView1.SetDataSource <tShortCutKey>(tShortCutKeyList, StructTemp); otTreeView1.ExpandAll(); if (SelectedEntity != null && !string.IsNullOrEmpty(SelectedEntity.ShortCutKeyID)) { List <TreeNode> TreeNodeList = otTreeView1.GetAllTreeNode(); TreeNode TreeNodeTemp = TreeNodeList.Where(T1 => T1.Name == SelectedEntity.ShortCutKeyID).FirstOrDefault(); if (TreeNodeTemp != null) { otTreeView1.SelectedNode = TreeNodeTemp; } } Application.DoEvents(); timer1.Enabled = true; }
/// <summary> /// 添加一个快捷键 /// </summary> public void AddtShortcutKey(tShortCutKey Param) { Task.Delay(100).ContinueWith(task => { Invoke(new Action(() => { Param.ShortCutKeyImg = UniversalMethod.ByteArayToHex(OfficeTools.Resource.Image.Image.ShortcutKeyDefualtImage.ToImage().ToByteArray()); frmShortcutKey_Edit frm = new frmShortcutKey_Edit(Param); string NewID = ""; if (frm.ShowDialog() == DialogResult.OK) { NewID = new ShortcutKeyManageService().AddShortCutKey(frm.CurrentEntity); if (!string.IsNullOrEmpty(NewID)) { InitKeyList(); } } })); }); }
private void FillContent() { if (CurrentEntity == null) { return; } Img_pictureBox.Image = CurrentEntity.ShortCutKeyImg.ToImage(); Name_textBox.Text = CurrentEntity.ShortCutKeyName; Target_pictureBox.Image = CurrentEntity.TargetProgramImg.ToImage(); Program_textBox.Text = CurrentEntity.TargetProgramName; KeyName_textBox.Text = UniversalMethod.GetKeyName(CurrentEntity.ShortCutKey); TypeName_textBox.Text = UniversalMethod.GetTypeName(CurrentEntity.ShortCutKeyType); if (CurrentEntity.ShortCutKeyType == 2) { Path_panel.Visible = false; SysShortcutKey_textBox.Text = CurrentEntity.ShortCutKeyPath; } else { Path_panel.Visible = true; Path_textBox.Text = CurrentEntity.ShortCutKeyPath; } LongPress_checkBox.Checked = CurrentEntity.LongPress == 2; string ParentName = "根目录"; if (!string.IsNullOrEmpty(CurrentEntity.ParentID)) { tShortCutKey tShortCutKeyTemp = new ShortcutKeyManageService().GettShortCutKeyList(new tShortCutKey() { ShortCutKeyID = CurrentEntity.ParentID }).FirstOrDefault(); if (tShortCutKeyTemp != null) { ParentName = tShortCutKeyTemp.ShortCutKeyName; } } ParentNode_textBox.Text = ParentName; }
/// <summary> 以当前选中的快捷键为基础添加一个快捷键 /// /// </summary> /// <param name="IsChidren">[true:添加的快捷键是当前选中的快捷键的子节点;false:添加的选中快捷键的同级快捷键]</param> private string AddtShortcutKey(bool IsChidren = true) { tShortCutKey AddData = new tShortCutKey() { ShortCutKeyName = "新增快捷键", ParentID = "", ShortCutKey = "", ShortCutKeyPath = "", ShortCutKeyType = 0, ShortCutKeyImg = new byte[0] }; AddData.ShortCutKeyImg = OfficeTools.Resource.Image.Image.ShortcutKeyDefualtImage.ToImage().ToByteArray(); TreeNode CurrentNode = ShortcutKey_otTreeView.SelectedNode; if (CurrentNode != null) { tShortCutKey CurrentEntity = tShortCutKeyDataSource.Where(T1 => T1.ShortCutKeyID == CurrentNode.Name).FirstOrDefault(); if (CurrentEntity != null) { AddData.ParentID = CurrentEntity.ParentID; if (IsChidren) { AddData.ParentID = CurrentEntity.ShortCutKeyID; } } } int KeuNum = GetDefaultKey(AddData.ParentID); if (KeuNum != -1) { AddData.ShortCutKey = KeuNum.ToString(); } string NewID = new ShortcutKeyManageService().AddShortCutKey(AddData); if (!string.IsNullOrEmpty(NewID)) { InitKeyList(); } return(NewID); }
/// <summary> 将文件拖拽到窗口后 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Form1_DragDrop(object sender, DragEventArgs e) { System.Array ArrayTemp = ((System.Array)e.Data.GetData(DataFormats.FileDrop)); if (ArrayTemp == null) { return; //不支持的格式直接返回 } List <string> FilePathList = new List <string>(); for (int i = 0; i < ArrayTemp.Length; i++) { FilePathList.Add(ArrayTemp.GetValue(i).ToString()); } #region 获取父ID,使新添加的记录与当前选中节点处于同一级别 string StrParentId = ""; TreeNode CurrentNode = ShortcutKey_otTreeView.SelectedNode; if (CurrentNode != null) { tShortCutKey CurrentEntity = tShortCutKeyDataSource.Where(T1 => T1.ShortCutKeyID == CurrentNode.Name).FirstOrDefault(); if (CurrentEntity != null) { StrParentId = CurrentEntity.ShortCutKeyID; } } #endregion 获取父ID,使新添加的记录与当前选中节点处于同一级别 foreach (string PathItem in FilePathList) { string StrFileName = Path.GetFileNameWithoutExtension(PathItem);//获取快捷键名称 int KeyNum = GetDefaultKey(StrParentId); string StrKeyNum = ""; if (KeyNum != -1) { StrKeyNum = KeyNum.ToString(); //获取默认键编号 } int FileType = 0; //设置打开类型 byte[] ImageByteArray = UniversalMethod.GetImageByFileName(PathItem).ToByteArray(); //获取文件图标 #region 获取快捷方式真实路径 string StrPath = PathItem; string StrExtension = Path.GetExtension(PathItem); if (!string.IsNullOrEmpty(StrExtension))//文件 { if (StrExtension == ".lnk") { WshShell ShellTemp = new WshShell(); IWshShortcut IWshShortcutTemp = (IWshShortcut)ShellTemp.CreateShortcut(PathItem); StrPath = IWshShortcutTemp.TargetPath; StrExtension = Path.GetExtension(StrPath); if (string.IsNullOrEmpty(StrExtension)) { FileType = 1; } } } else//文件夹 { FileType = 1; } Regex RegexTemp = new Regex(@"https{0,1}\:\/\/"); if (RegexTemp.Match(StrPath).Success)//是否是网址 { FileType = 2; } #endregion 获取快捷方式真实路径 #region 实例化AddData tShortCutKey AddData = new tShortCutKey() { ShortCutKeyName = StrFileName, ParentID = StrParentId, ShortCutKey = StrKeyNum, ShortCutKeyPath = StrPath, ShortCutKeyType = (byte)FileType, ShortCutKeyImg = ImageByteArray }; #endregion 实例化AddData string NewID = new ShortcutKeyManageService().AddShortCutKey(AddData); tShortCutKeyDataSource.Add(AddData); } InitKeyList(); }