1

私は現在、次のような別のモジュールからツールストリップを追加しています。

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

それらを購入すると、モジュールがロードされる順序になりますが、これはあまり良くありません。それらを再注文する方法はありますか?

または、モジュールに何らかのインデックスを追加して、ツールストリップが必要な順序でそれらをロードすることを検討する必要がありますか?

4

3 に答える 3

3

Controlsコレクションには、SetChildIndex(Control child、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();
于 2009-06-03T14:24:38.010 に答える
0

最終的にすべてのツールストリップをリストに追加しました...リストをToolStrip.Tagで並べ替えてから...そしてそれらをコントロールリストに追加しました...

これにより、モジュールライターは、ツールストリップのマージのように、ツールストリップの優先順位を設定できます。

于 2009-06-03T16:19:47.023 に答える
0

私はこのように解決しました:

StripContainer.TopToolStripPanel.Join(
    Instance.MMethod.Main.ToolStripMenu,
    StripContainer.TopToolStripPanel.Controls[
        StripContainer.TopToolStripPanel.Controls.Count - 1].Right, 
    0);
于 2013-06-22T02:34:18.463 に答える