Динамическое создание массива кнопок с событием - C#
Формулировка задачи:
Только начинаю копать C#, прошу сильно не пинать.
Создаю массив кнопок с событием:
Для инициализации кнопки в событии хотел использовать ее текст но компилятор ругается
т.е. sender не содержит ссылку на мои кнопки. Как узнать какая кнопка кликнута?
Button[] btnDisk1; //////// private void LoadDrivers(GroupBox grb) { DriveInfo[] AllDrivers = DriveInfo.GetDrives(); btnDisk1 = new Button[AllDrivers.Length]; int i = 0; foreach (DriveInfo InfoDrive in AllDrivers) { Size Sz = new Size(45, 23); btnDisk1[i] = new Button(); btnDisk1[i].Text = InfoDrive.Name.Replace("\\",""); Point Pt = new Point(3*(i+1)+Sz.Width*i, 9); btnDisk1[i].Location = Pt; btnDisk1[i].Size = Sz; btnDisk1[i].Click += new EventHandler(btn_click); grb.Controls.Add(btnDisk1[i]); btnDisk1[i].Visible = true; i++; } } private void btn_click(object sender, EventArgs e) { MessageBox.Show(sender.Text); }
"object" не содержит определения для "text" и не был найден метод расширения "text", принимающий тип "object" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)
Решение задачи: «Динамическое создание массива кнопок с событием»
textual
Листинг программы
MessageBox.Show(((Button)sender).Text);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д