Ejemplo n.º 1
0
        private void удалитьСлойToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DialogResult res = MessageBox.Show("Будет удален текущий активный слой, действительно продолжить?", "Внимание!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);


            if (res == DialogResult.Yes)
            {
                if (ActiveLayer == 0)
                {
                    MessageBox.Show("Вы не можете удалить нулевой слой.", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                }
                else
                {
                    LayersCount--;


                    int LayerNomForDel = Слои.SelectedIndex;


                    Слои.Items.RemoveAt(LayerNomForDel);


                    Слои.SelectedIndex = 0;

                    ActiveLayer = 0;

                    Слои.SetItemCheckState(0, CheckState.Checked);

                    ProgrammDrawingEngine.RemoveLayer(LayerNomForDel);
                }
            }
        }
Ejemplo n.º 2
0
        // функция удаления слоя
        private void удалитьСлойToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // запрашиваем подтверждение действия, с помощью MessageBox
            DialogResult res = MessageBox.Show("Будет удален текущий активный слой, действительно продолжить?", "Внимание!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            // если пользователь нажал кнопку "ДА" в окне подтверждения
            if (res == DialogResult.Yes)
            {
                // если удаляемый слой - начальный
                if (ActiveLayer == 0)
                {
                    // сообщаем о невозможности удаления
                    MessageBox.Show("Вы не можете удалить нулевой слой.", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                }
                else // иначе
                {
                    // уменьшаем значение счетчика слоев
                    LayersCount--;

                    // сохраняем номер удаляемого слоя, т.к. SelectedIndex измениться полсе операций в LayersControl
                    int LayerNomForDel = Слои.SelectedIndex;

                    // удаляем запись в элементе LayerControl (с индексом LayersControl.SelectedIndex - текущим выделенным слоем)
                    Слои.Items.RemoveAt(LayerNomForDel);

                    // устанавливаем выделенный слоем - нулевой (главный слой)
                    Слои.SelectedIndex = 0;
                    // помечаем активный слой - нулевой
                    ActiveLayer = 0;
                    // помечаем галочкой нулевой слой
                    Слои.SetItemCheckState(0, CheckState.Checked);
                    // вызываем функцию удаления слоя в движке программы
                    ProgrammDrawingEngine.RemoveLayer(LayerNomForDel);
                }
            }
        }