Запомнить ширину кнопки WinForms c#
На панели создаются 3 кнопки
for (int i = 0; i < 3; i++)
{
Button button = new Button();
button.Location = new Point(0 + i * 10, 280 - i * 20);
button.Name = "but" + i;
button.Height = 20;
button.Width = 120 - i*20;
button.Click += Button_Click;
panel1.Controls.Add(button);
}
При клике на созданную кнопку нужно записать в переменную ее ширину, чтобы воспроизвести (создать заново) в другом месте на панели
Нашел конструкцию для вывода на экран названия кнопки и ее удаления, но не знаю как запомнить ширину
private void Button_Click(object sender, EventArgs e)
{
MessageBox.Show(((Button)sender).Name);
this.panel1.Controls.Remove(sender as Button);
}
Ответы (1 шт):
Автор решения: Serafim Prozorov
→ Ссылка
Вам надо ввести приватную переменную, в которой будет храниться ширина:
private int _buttonWidth;
В методе обработки события надо добавить сохранение ширины. На самом деле в нем есть несколько присущих новичку ошибок, поэтому приведу другой вариант:
private void Button_Click(object sender, EventArgs e)
{
var button = sender as Button;
if (button == null)
return;
MessageBox.Show(button.Name);
panel1.Controls.Remove(button);
_buttonWidth = button.Width;
}