Visual Studio 2005 で .net 2.0 を使用しています。フォームの上部に 2 つの異なるツールストリップを追加して、並べて表示しようとしています。Word 2003 のようにして、複数のツールストリップを同じ行に追加し、各ツールストリップに行を割り当てるのではなく、それらを並べて表示できるようにしたいと考えています。
そこで、ToolStripPanel を追加して、フォームの上部にドッキングしました (余分なパネルはすべて必要ないため、ToolStripContainer は使用しませんでした。上部に 1 つだけ必要です)。両方のツールストリップを追加し、それらの Stretch プロパティを False に設定しました。これらをデザイナー ウィンドウに並べて表示することはできますが、実行時に ToolStripPanel はツールストリップを分離し、各ツールストリップに専用の行を提供します。怪我に侮辱を加えるかのように、デバッグを停止してデザイナーに戻ると、デザイナーがツールストリップを独自の行にも移動していることに気付きます! ここで何か間違ったことをしていますか?
私は一日中グーグルをしており、ToolStripPanelRow オブジェクトに関する情報をいくつか見つけましたが、ツールストリップを追加する簡単な方法がわかりません (つまり、ToolStripPanelRow.Controls.Add メソッドなどはありません)。コントロール オブジェクトの配列を返す Controls() プロパティがあり、その配列にアイテムを追加しようとしてもうまくいきませんでした。また、ToolStripPanel.Join メソッドに関するドキュメントもいくつか見つけました。私が何をしたり、どのオプションを試したりしても、常に新しいツールストリップがパネルの上部の独自の行に追加され、他のすべてが押し下げられます。
完全な開示のために、ToolStripPanel とツールストリップの 1 つが基本クラス フォームに追加されており、基本クラス フォームから継承するサブクラス フォームに他のツールストリップを追加しようとしていることを警告しておきます。基本クラス フォームの ToolStripPanel と ToolStrip は両方とも「Protected Friend」として宣言されているため、これは機能するはずです。前述したように、サブクラス フォームのデザイナ ウィンドウを使用すると、(少なくとも、しばらくの間は) それを行うことができます。
誰かが私がこれを機能させるのを手伝ってくれるか、少なくともなぜそうでないのかを明らかにすることができれば、私は非常に感謝しています.