Изменить порядок Toostrip - PullRequest
       3

Изменить порядок Toostrip

1 голос
/ 03 июня 2009

Я сейчас добавляю наборы инструментов из моих отдельных модулей, таких как:

this.toolStripContainer.TopToolStripPanel.Controls.Add(module.Instance.Toolbar)

Покупайте их тогда в порядке загрузки модулей, что не очень хорошо. Есть ли способ их переупорядочить?

Или мне стоит добавить какой-нибудь индекс к моим модулям и загрузить их в том порядке, в котором я хочу получить набор инструментов?

Ответы [ 3 ]

3 голосов
/ 03 июня 2009

В коллекции Controls есть метод SetChildIndex (дочерний элемент управления, int newIndex) . Посмотрите, можете ли вы использовать этот метод, чтобы упорядочить элементы управления в соответствии с вашими потребностями.

РЕДАКТИРОВАТЬ: Только что сделал быстрый тест. Вам нужно вызвать SuspendLayout () перед добавлением элементов управления, а затем ResumeLayout (), как только вы закончите:

        this.toolStripContainer1.TopToolStripPanel.SuspendLayout();
        this.toolStripContainer1.TopToolStripPanel.Controls.Add(t1);
        this.toolStripContainer1.TopToolStripPanel.Controls.Add(t2);
        this.toolStripContainer1.TopToolStripPanel.Controls.SetChildIndex(t1, 1);
        this.toolStripContainer1.TopToolStripPanel.ResumeLayout();
0 голосов
/ 22 июня 2013

Я решил так:

StripContainer.TopToolStripPanel.Join(
    Instance.MMethod.Main.ToolStripMenu,
    StripContainer.TopToolStripPanel.Controls[
        StripContainer.TopToolStripPanel.Controls.Count - 1].Right, 
    0);
0 голосов
/ 03 июня 2009

В итоге я добавил все списки инструментов в список ... сортировка списка по ToolStrip.Tag ... а затем добавить их в контрольный список ...

Это позволяет разработчику модуля устанавливать приоритет для панели инструментов, что-то вроде слияния панели инструментов

...