private void TreeView_KeyDown(object sender, KeyEventArgs e) { var selectItem = PART_RemoteTree.SelectedItem as RemoteTreeViewItem; if (selectItem != null) { if (e.Key == Key.F2) { selectItem.HeaderEdit(Home_Tree_EditHeaderClosing); } if (e.Key == Key.Delete) { DeleteRemoteItem(selectItem); } if (e.Key == Key.Enter) { if (selectItem == null) { return; } if (selectItem.RemoteType == RemoteType.dir) { selectItem.IsExpanded = !selectItem.IsExpanded; } else { RemoteItems.Open((RemoteTreeViewItem)PART_RemoteTree.SelectedItem, DbItemSetting.OPEN_DEFAULT); } } } //Ctrl if (Keyboard.Modifiers == ModifierKeys.Control) { if (e.Key == Key.C) { RemoteItems.Copy(selectItem); } if (e.Key == Key.X) { RemoteItems.Shear(selectItem); } if (e.Key == Key.V) { RemoteItems.Paste(selectItem); } } //Ctrl+Shift if ((Keyboard.Modifiers & (ModifierKeys.Control | ModifierKeys.Shift)) == (ModifierKeys.Control | ModifierKeys.Shift)) { if (e.Key == Key.N) { NewRemoteItem(selectItem, RemoteType.dir); } if (e.Key == Key.R) { NewRemoteItem(selectItem, RemoteType.rdp); } if (e.Key == Key.S) { NewRemoteItem(selectItem, RemoteType.ssh); } if (e.Key == Key.T) { NewRemoteItem(selectItem, RemoteType.telnet); } } }
private void MenuItem_Click(object sender, RoutedEventArgs e) { try { MenuItem menuItem = sender as MenuItem; if (menuItem == null) { return; } RemoteTreeViewItem selectItem = (RemoteTreeViewItem)PART_RemoteTree.SelectedItem; if (menuItem.Name == "MenuItem_NewDir") { NewRemoteItem(selectItem, RemoteType.dir); } else if (menuItem.Name == "MenuItem_Newrdp") { NewRemoteItem(selectItem, RemoteType.rdp); } else if (menuItem.Name == "MenuItem_Newssh") { NewRemoteItem(selectItem, RemoteType.ssh); } else if (menuItem.Name == "MenuItem_NewTelnet") { NewRemoteItem(selectItem, RemoteType.telnet); } else if (menuItem.Name == "MenuItem_Delete") { DeleteRemoteItem(selectItem); } else if (menuItem.Name == "MenuItem_Link") { RemoteItems.Open(selectItem, DbItemSetting.OPEN_TAB); } else if (menuItem.Name == "MenuItem_LinkBackend") { RemoteItems.Open(selectItem, DbItemSetting.OPEN_TAB_BACKSTAGE); } else if (menuItem.Name == "MenuItem_LinkSeparate") { RemoteItems.Open(selectItem, DbItemSetting.OPEN_WINDOW); } else if (menuItem.Name == "MenuItem_Rename") { selectItem.HeaderEdit(Home_Tree_EditHeaderClosing); } else if (menuItem.Name == "MenuItem_Shear") { RemoteItems.Shear(selectItem); } else if (menuItem.Name == "MenuItem_Copy") { RemoteItems.Copy(selectItem); } else if (menuItem.Name == "MenuItem_Paste") { RemoteItems.Paste(selectItem); } } catch (Exception ex) { MainWindow.ShowMessageDialog("错误", ex.Message); } }