Получения адреса объекта вызвавшего события - C#

Узнай цену своей работы

Формулировка задачи:

Всем доброго дня. Ситуация в следующим, во время выполнения программы динамически создаются кнопке на форме реагируют на события и т.д.. Все отлично работает, пока дела не доходит до изменения свойств предыдущих созданных кнопок, так как в объект MyButton ссылается на адрес последней созданной кнопки
        Button MyButton;
        public Button AddButton()
        {
            Button butt = new Button();
            Random rnd = new Random();
            butt.Top = rnd.Next(this.Width);
            butt.Left = rnd.Next(this.Height);
            butt.Click += new EventHandler(butt_Click);
            this.Controls.Add(butt);
            return butt;
        }
 
        void butt_Click(object sender, EventArgs e)
        {
            MessageBox.Show("TEST");
 
            MyButton.Width += 10;
        }
 
        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            MyButton = AddButton();
        }
И так вопрос в следующим, как присвоить объекту MyButton адрес вызвавшего события объекта? Я так понимаю, это надо сделать в событии клик
        void butt_Click(object sender, EventArgs e)
        {
            MessageBox.Show("TEST");
 
        // MyButton = адрес объекта вызвавшего события?
 
            MyButton.Width += 10;
        }

Решение задачи: «Получения адреса объекта вызвавшего события»

textual
Листинг программы
void butt_Click(object sender, EventArgs e)
        {
            MessageBox.Show("TEST");
        
            Button MyButton=(Button)sender;//получаете кнопу вызвавшую событие
 
            MyButton.Width += 10;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы