/// <summary> /// Переход в подкаталог /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonNextSubdirectory_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBoxNextSubdirectory.Text) || BunnedSymbols.IsBunned(textBoxNextSubdirectory.Text)) { MessageBox.Show("Проверьте правильность имени открываемой директории, возможно, поле пустое!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); textBoxNextSubdirectory.Focus(); textBoxNextSubdirectory.ForeColor = Color.Red; } else { OpenDirectory openDirectory = new OpenDirectory(textBoxNextSubdirectory.Text, ref fileSystem); if (!fileSystem.ExecuteCommand(openDirectory)) { MessageBox.Show("Возможно, открываемая директория не является директорией", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { ReadDirectory readDirectory = new ReadDirectory(fileSystem); if (!fileSystem.ExecuteCommand(readDirectory)) { MessageBox.Show("Проверяй массив object-ов, похоже неверный апкаст", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); } textBoxSubdirectories.Clear(); for (int i = 0; i < fileSystem.FilesAndDirectoriesInDirectory.Count; i++) { textBoxSubdirectories.Text += "\"" + fileSystem.FilesAndDirectoriesInDirectory[i] + "\"" + " "; } } } textBoxNextSubdirectory.Clear(); }
public static bool OnOpenDirectory(IDirectoryViewModel e) { var args = new OpenDirectoryArgs(e); if (e.Path != "" && !Directory.Exists(e.Path)) { OnNoExistDirectory(e); throw new DirectoryDoesExistException(); } OpenDirectory?.Invoke(null, args); return(args.Cancel); }
private void TreeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { if (e.Button == MouseButtons.Right) { TreeView.SelectedNode = e.Node; } else if (e.Button == MouseButtons.Left) { var hit = TreeView.HitTest(e.Location); if (hit.Location != TreeViewHitTestLocations.PlusMinus) { OpenDirectory?.Invoke(sender, new DirectoryEventArgs(GetPath(e.Node))); } } }
public void OpenDir() { OpenDirectory.Open(FileManager._bindDirectory); }