Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2013, 00:35   #1
Lost7070
Пользователь
 
Регистрация: 02.03.2012
Сообщений: 25
Сообщение Изменение свойств динамически созданных CheckBox-ов.

Доброго времени суток всем и каждому.
Проблема заключается в следующем: динамически создается массив CheckBox-ов. По нажатию на кнопку, они выводятся на экран, после чего на нужные CheckBox-ы ставятся галочки, нажимается следующая кнопка и анализируется массив.
Дело в том, что после создания массива CheckBox-ов, в нём хранятся одни Null и после того, как мы ставим галочки и нажимаем вторую кнопку, Null остается на месте. Подскажите пожалуйста, как можно динамически изменять свойства CheckBox-ов. Заранее благодарен все отозвавшимся.
Ниже код:

Код:
        //Тот самый массив CheckBox-ов
        CheckBox[] Check;
        //Нажатие первой кнопки
        private void button1_Click(object sender, EventArgs e)
        {
            int x_x = 15;
            const int x_y = 40;

            const int y_x = 15;
            int y_y = 30;

            int c_x = 15;
            int c_y = 60;

            int check_counter = 0;
            //Инициализация массива
            Check = new CheckBox[Convert.ToInt16(textBox1.Text) * 2];

            for (int i = 0; i < Convert.ToInt16(textBox1.Text); i++)
            {
                c_x = 15;
                if (i != 0)
                {
                    c_y = c_y + 30;
                }
                Label label_y = new Label();
                label_y.Text = Convert.ToString(i + 1);
                label_y.Height = 17;
                label_y.Width = 10;
                label_y.Location = new Point(y_x, y_y = y_y + 30);
                this.Controls.Add(label_y);

                for (int j = 0; j < Convert.ToInt16(textBox1.Text); j++)
                {
                    if (j == 0)
                    {
                        Label label = new Label();
                        label.Text = Convert.ToString(i + 1);
                        label.Height = 17;
                        label.Width = 10;
                        label.Location = new Point(x_x = x_x + 37, x_y);
                        this.Controls.Add(label);
                    }
                    Check[check_counter] = new CheckBox();
                    Check[check_counter].Height = 17;
                    Check[check_counter].Width = 15;
                    Check[check_counter].Location = new Point(c_x = c_x + 37, c_y);
                    if (i == j)
                    {
                        Check[check_counter].Enabled = false;
                    }
                    this.Controls.Add(Check[check_counter]);
                }
            }
        }
        //Нажатие второй кнопки
        private void button2_Click(object sender, EventArgs e)
        {
            int check_counter=0;
            int[,] Graph = new int[Convert.ToInt16(textBox1.Text), Convert.ToInt16(textBox1.Text)];

            for(int i=0; i<Convert.ToInt16(textBox1.Text); i++)
            {
                for (int j = 0; j < Convert.ToInt16(textBox1.Text); j++)
               {
                   if (Check[check_counter].Checked == true)
                       Graph[i,j] = 1;
                   else
                       Graph[i,j] = 0;
               }
            }

            textBox1.Text = "";
        }
    }
}
Lost7070 вне форума Ответить с цитированием
Старый 24.10.2013, 07:08   #2
simples
Форумчанин
 
Регистрация: 03.10.2013
Сообщений: 142
По умолчанию

Похоже Вы забыли добавить инкремент на check_counter в цикле заполнения/чтения чекбоков. Сейчас у Вас только последний чекбокс запоминается в первом элементе массива.
simples вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Взаимодействие динамически созданных кнопок Rilmeer Помощь студентам 5 07.06.2013 13:51
обработчик динамически созданных кнопок andir Общие вопросы Delphi 5 02.03.2013 18:11
перетаскивание динамически созданных объектов kaizer131 Общие вопросы Delphi 13 15.06.2011 07:59
Сохранение динамически созданных объектов Marsel737 Общие вопросы Delphi 25 15.12.2009 14:24
Свойства динамически созданных объектов. Dorithur Общие вопросы Delphi 4 12.12.2009 15:35