其中有TableLayoutPanel一种元素是动态添加的Button。我想AutoSize为每行的高度设置一个参数(Row),但该参数仅适用于第一行。
代码:
private void editEventsLoad(object sender, EventArgs e)
{
ea_tableLayoutPanel.RowCount = 0;
ea_tableLayoutPanel.RowStyles.Clear();
// получаем все обьекты event и добавляем кнопку для них в TableLayoutPanel
for (int i = 0; i < events.Length; i++)
{
EventObject _event = events[i];
ea_addButtonToEventList(
$"{_event.From.ToShortDateString()}, {_event.From.ToShortTimeString()} " +
$"{_event.To.ToShortDateString()}, {_event.To.ToShortTimeString()}" +
$" - " +
$"{_event.EventName}", i.ToString());
}
}
// Добавляем кнопку в список
private void ea_addButtonToEventList(string text, string IndexInTheEventsArray)
{
ea_tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.AutoSize));
ea_tableLayoutPanel.Controls.Add(ea_getButton(text, IndexInTheEventsArray), 0, ea_tableLayoutPanel.RowCount++);
}
// создаем кнопку с нужными параметрами
private Button ea_getButton(string text, string index)
{
Button button = new Button();
button.Text = text;
button.AutoSize = true;
button.MinimumSize = new Size(500, 50);
button.TextAlign = ContentAlignment.MiddleCenter;
button.Font = new Font("Bahnschrift Light", 12f, FontStyle.Regular);
button.Dock = DockStyle.Fill;
button.BackColor = Color.White;
button.Tag = index;
return button;
}
下面是一个更改按钮文本的示例(使按钮大于最小值):
在第一个按钮上,您可以看到全文,其余按钮的大小基于 MinSize 参数。据我了解,问题不在于按钮的大小,因为一切都适用于第一个按钮。
预先感谢您的帮助。
