Моделирование механизмов защиты компьютерной системы, страница 14

            listBox2.SelectedIndex = listBox1.SelectedIndex;

            listBox3.SelectedIndex = listBox1.SelectedIndex;

            ОтображениеМатрицыДоступа();

        }

        private void listBox2_SelectedIndexChanged(object sender, EventArgs e)

        {

            listBox1.SelectedIndex = listBox2.SelectedIndex;

            listBox3.SelectedIndex = listBox2.SelectedIndex;

            ОтображениеМатрицыДоступа();

        }

        private void listBox3_SelectedIndexChanged(object sender, EventArgs e)

        {

            listBox1.SelectedIndex = listBox3.SelectedIndex;

            listBox2.SelectedIndex = listBox3.SelectedIndex;

            ОтображениеМатрицыДоступа();

        }

        //Удаление пользователя

        private void button2_Click(object sender, EventArgs e)

        {

            string login = textBox3.Text;

            bool flag = false;

            int key = -1;

            foreach (КПользователь пользователь in Global.АутОбъект)

            {

                key++;

                if (пользователь.Get_login() == login)

                {

                    if (пользователь.Get_login() == "god")

                    {

                        MessageBox.Show("Администратора удалить нельзя!", "Ошибка!");

                        flag = true;

                        textBox3.Text = "";

                        break;

                    }

                    flag = true;

                    Global.УдалитьПользователя(key);

                    listBox1.Items.RemoveAt(key);

                    listBox2.Items.RemoveAt(key);

                    listBox3.Items.RemoveAt(key);

                    textBox3.Text = "";

                    break;

                }

            }

            if (!flag) MessageBox.Show("Пользователя с таким именем не существует", "Ошибка!");

            ВыводПользователейСМинимальнымЧисломВходов();

        }

        #endregion

        #region Кнопки >>>, <<<; Создание матрицы доступа; Запись матрицы доступа

        //>>>

        private void button4_Click(object sender, EventArgs e)

        {

            this.Width += 400;

            button4.Visible = false;

            button5.Visible = true;           

            ОтображениеМатрицыДоступа();

        }

        //<<<

        private void button5_Click(object sender, EventArgs e)

        {

            this.Width -= 400;

            button4.Visible = true;

            button5.Visible = false;  

            button9.Visible = false;

        }

        //Создание матрицы доступа

        private void button6_Click(object sender, EventArgs e)

        {

            Global.АутОбъект[listBox1.SelectedIndex].mDostupa = new string[2, 2];

            Global.АутОбъект[listBox1.SelectedIndex].isDostup = true;

            Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa = new int[2];

            dataGridView1.Visible = true;

            groupBox5.Visible = true;

            button9.Visible = true;

            groupBox4.Visible = false;

            dataGridView1.ColumnCount = 1;

            Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[0] = 2;

            dataGridView1.RowCount = 1;

            Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[1] = 2;

            dataGridView1.Rows[0].HeaderCell.Value = textBox4.Text;

            dataGridView1.Columns[0].HeaderCell.Value = textBox5.Text;

            Global.АутОбъект[listBox1.SelectedIndex].mDostupa[1, 0] = textBox4.Text;

            Global.АутОбъект[listBox1.SelectedIndex].mDostupa[0, 1] = textBox5.Text;

        }

        //Запись матрицы доступа

        private void button9_Click(object sender, EventArgs e)

        {

            for (int i = 1; i < Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[0]; i++) //3 раза

                for (int j = 1; j < Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[1]; j++) //2 раза

                {