Добавьте 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);
Другие вопросы по тегам