Добавьте ToolStripMenuItem в новую строку, когда одна строка заполнена внутри ToolStrip
У меня есть одна форма и внутри формы у меня есть один элемент управления toolstrip, и я добавляю ToolStripMenuItem динамически. То, что я хочу, когда один заполнен, элементы должны перечислить в следующей строке. Я пробовал это для увеличения высоты и ширины формы, но добавления элементов в новую строку не происходило.
ToolStripItemCollection t_col = toolStripTaskBar.Items;
int _howMany = t_col.Count;
Rectangle mi_bounds = t_col[_howMany - 1].Bounds;
if (this.Width < (mi_bounds.X + mi_bounds.Width))
{
int minimumFormHeight = 80;
this.MinimumSize = new Size((mi_bounds.X + mi_bounds.Width), minimumFormHeight);
}
Дайте мне знать, если вы не понимаете, чего я хочу.
Любое предложение, как я могу достичь этого. Благодарю вас.
1 ответ
Решение
Вы можете использовать свойство LayoutStyle ToolStrip. Вам нужно настроить его на Table и изменить настройки макета (указать количество строк и столбцов).
Вы можете сделать это так:
this.toolStrip1.LayoutStyle = ToolStripLayoutStyle.Table;
var layoutSettings = (this.toolStrip1.LayoutSettings as TableLayoutSettings);
layoutSettings.ColumnCount = 3;
layoutSettings.RowCount = 3;
И вы можете добавить новые элементы в toolstrip:
var item = new ToolStripMenuItem(string.Format("item{0}", this.toolStrip1.Items.Count + 1));
this.toolStrip1.Items.Add(item);