/// <summary>
 /// When a handler is closed
 /// </summary>
 /// <param name="o_sender">>object sender</param>
 /// <param name="event_args">event data</param>
 public void OnCloseHandler(object o_sender, DirectoryCloseEventArgs event_args)
 {
     try
     {
         //Unables raising events
         this.model_watcher.EnableRaisingEvents = false;
         Watcher.Created -= new FileSystemEventHandler(OnCreated);
         CloseDirectory?.Invoke(this, new DirectoryCloseEventArgs(path, "Dir " + this.path + " closed"));
     }
     catch (Exception ex)
     {
         //In case an error occured
         this.model_logging.Log("handler closure error: " + this.path + "because of " + ex.Message, MessageTypeEnum.FAIL);
     }
 }
Example #2
0
        /// <summary>
        /// Покинуть текущий каталог
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonLeaveCurrentDirectory_Click(object sender, EventArgs e)
        {
            CloseDirectory closeDirectory = new CloseDirectory(fileSystem);

            if (!fileSystem.ExecuteCommand(closeDirectory))
            {
                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] + "\"" + " ";
                }
            }
        }