public void delegation_start_enter_operation(object sender, EventArgs e)
 {
     if (file_to_do.Text != "Читання" && file_to_do.Text != "Запис" && file_to_do.Text != "Делегування")
     {
         file_to_do.Text   = string.Empty;
         f_d               = null;
         insertion.Text    = "Введіть файл";
         todelegate.Click -= delegation_start_enter_operation;
         todelegate.Click += todelegate_click;
         MessageBox.Show("Не існує такої операції!");
     }
     else
     {
         operation         = file_to_do.Text;
         file_to_do.Text   = string.Empty;
         todelegate.Click -= delegation_start_enter_operation;
         todelegate.Click += delegation_continue_enter_user;
         insertion.Text    = "Користувач";
         MessageBox.Show("Введіть користувача для делегування!");
     }
 }
        private void delegation_continue_enter_user(object sender, EventArgs e)
        {
            for (int i = 0; i < data.get_usercount(); i++)
            {
                if (file_to_do.Text == data.get_user(i).Name)
                {
                    u_d = data.get_user(i);
                    break;
                }
            }
            if (u_d == null)
            {
                MessageBox.Show("Немає такого користувача");
                file_to_do.Text   = string.Empty;
                todelegate.Click -= delegation_continue_enter_user;
                todelegate.Click += todelegate_click;
                insertion.Text    = "Введіть файл";
                u_d       = null;
                f_d       = null;
                operation = "";
            }
            else
            if (operation == "Читання")
            {
                insertion.Text    = "Введіть файл";
                todelegate.Click -= delegation_continue_enter_user;
                todelegate.Click += todelegate_click;
                if (f_d.Get_Read(u_d.Count) == 1 || f_d.Get_Read(insertion_correct().Count) == 0)
                {
                    MessageBox.Show("Помилка! Користувач вже має дані права, або недостатньо прав у делегуючого користувача");
                    u_d             = null;
                    f_d             = null;
                    operation       = "";
                    file_to_do.Text = string.Empty;
                }
                else
                {
                    f_d.Set_Read(u_d.Count, 1);
                    T.Rows[f_d.Count + 1].Cells[u_d.Count + 1].Value = data.rigts_insertion(f_d, u_d);

                    file_to_do.Text = string.Empty;
                    MessageBox.Show("Право на читання надано користувачу " + u_d.Name);
                    u_d       = null;
                    f_d       = null;
                    operation = "";
                }
            }
            else
            if (operation == "Запис")
            {
                insertion.Text    = "Введіть файл";
                todelegate.Click -= delegation_continue_enter_user;
                todelegate.Click += todelegate_click;
                if (f_d.Get_Write(u_d.Count) == 1 || f_d.Get_Write(insertion_correct().Count) == 0)
                {
                    MessageBox.Show("Помилка!Користувач вже має дані права, або недостатньо прав у делегуючого користувача");
                    u_d             = null;
                    f_d             = null;
                    operation       = "";
                    file_to_do.Text = string.Empty;
                }
                else
                {
                    f_d.Set_Write(u_d.Count, 1);
                    T.Rows[f_d.Count + 1].Cells[u_d.Count + 1].Value = data.rigts_insertion(f_d, u_d);

                    file_to_do.Text = string.Empty;
                    MessageBox.Show("Право на запис надано користувачу " + u_d.Name);
                    u_d       = null;
                    f_d       = null;
                    operation = "";
                }
            }
            else
            if (operation == "Делегування")
            {
                insertion.Text    = "Введіть файл";
                todelegate.Click -= delegation_continue_enter_user;
                todelegate.Click += todelegate_click;
                if (f_d.Get_Todelegate(u_d.Count) == 1 || f_d.Get_Todelegate(insertion_correct().Count) == 0 || (f_d.Get_Read(u_d.Count) == 0) && (f_d.Get_Write(u_d.Count) == 0))
                {
                    MessageBox.Show("Помилка!Користувач вже має дані права, недостатньо прав у делегуючого користувача, або користувачу немає чого делегувати в майбутньому");
                    u_d             = null;
                    f_d             = null;
                    operation       = "";
                    file_to_do.Text = string.Empty;
                }
                else
                {
                    f_d.Set_Todelegate(u_d.Count, 1);
                    T.Rows[f_d.Count + 1].Cells[u_d.Count + 1].Value = data.rigts_insertion(f_d, u_d);

                    file_to_do.Text = string.Empty;
                    MessageBox.Show("Право на делегування надано користувачу " + u_d.Name);
                    u_d       = null;
                    f_d       = null;
                    operation = "";
                }
            }
        }