質問: Visual studio 2017 windows form での開発となりますが、SplitContainerについて伺いします。SplitContainerコントロールを使用し、上下2列の4面のパネルに、プレイヤーを配置しそれぞれ映像の再生中に、ドラッグ操作で任意のプレイヤーのサイズ変更を行いたいと考えています。 しかし、現状ではSplitContainerで左右横並び上下いずれかの選択を行うと、左右なら左右のサイズ変更しか行えません(添付画参照)。これはSplitContainerの仕様で限界と思っていますが、もし上下左右自由にサイズ変更を実現する方法がありましたら、是非ご教授ください、よろしくお願いします。 ![SplitContainer画像](https://i.stack.imgur.com/a4nNh.jpg)
回答: **2つのSplitContainerだけを使っている場合** 以下のような方法が考えられます。 * Formのマウスイベントを元に自分でサイズ変更する処理を書く * 以下のようにSplitContainerを追加して入れ子形式にする(分割方向の順序はお好みで) + ベースとなる上下分割型SplitContainerを配置する + 上記のそれぞれのパネルに左右分割型SplitContainerを配置する ちょっと機械翻訳がおかしいですが、以下に記述があります。 SplitContainer コントロールの概要 (Windows フォーム) > > 1 つ以上SplitContainerコントロール ネストすることも、2 つ目SplitContainer上部と下部のパネルを作成する、水平方向に制御します。 > > > 分割のレイアウトは違いますが、考え方と手順の記事がこちら。 splitcontainerによるformの作成 水平方向に3分割する例 **3つのSplitContainerを使っていても出来ない場合** 以下のような設定・処理を行っていて、自分で固定化している(のでそれを解除する)。 * ベースとなる上下分割型SplitContainerの`FixedPanel`プロパティが`None`でないか、`IsSplitterFixed`プロパティが`True`になっている * FormのLoadとか、他の何かの処理・イベント等で、上記の固定化処理を行っている 参考記事の例がこちら。 【C#】SplitContainerのPanel固定方法 04.サイズ変更イベント時に、特定のパネルサイズを固定する