

Visual studio 2017 windows form
での開発となりますが、SplitContainerについて伺いします。SplitContainerコントロールを使用し、上下２列の４面のパネルに、プレイヤーを配置しそれぞれ映像の再生中に、ドラッグ操作で任意のプレイヤーのサイズ変更を行いたいと考えています。

しかし、現状ではSplitContainerで左右横並び上下いずれかの選択を行うと、左右なら左右のサイズ変更しか行えません（添付画参照）。これはSplitContainerの仕様で限界と思っていますが、もし上下左右自由にサイズ変更を実現する方法がありましたら、是非ご教授ください、よろしくお願いします。  
[![SplitContainer画像](https://i.stack.imgur.com/a4nNh.jpg)](https://i.stack.imgur.com/a4nNh.jpg)


CC BY-SA 4.0
2019-07-05T08:59:52.350
56417
2022-08-13T07:00:10.027
2020-06-17T08:14:45.997
-1
34663
question
visual-studio winforms
SplitContainer上のコントールの上下左右へのサイズ変更


**2つのSplitContainerだけを使っている場合**

以下のような方法が考えられます。

  * Formのマウスイベントを元に自分でサイズ変更する処理を書く
  * 以下のようにSplitContainerを追加して入れ子形式にする(分割方向の順序はお好みで) 
    * ベースとなる上下分割型SplitContainerを配置する
    * 上記のそれぞれのパネルに左右分割型SplitContainerを配置する

ちょっと機械翻訳がおかしいですが、以下に記述があります。  
[SplitContainer コントロールの概要 (Windows フォーム)](https://docs.microsoft.com/ja-
jp/dotnet/framework/winforms/controls/splitcontainer-control-overview-windows-
forms)

> 1 つ以上SplitContainerコントロール ネストすることも、2
> つ目SplitContainer上部と下部のパネルを作成する、水平方向に制御します。

分割のレイアウトは違いますが、考え方と手順の記事がこちら。  
[splitcontainerによるformの作成](https://tomosoft.jp/design/?p=3015)  
[水平方向に3分割する例](https://www.sejuku.net/blog/58580#3)

**3つのSplitContainerを使っていても出来ない場合**

以下のような設定・処理を行っていて、自分で固定化している(のでそれを解除する)。

  * ベースとなる上下分割型SplitContainerの`FixedPanel`プロパティが`None`でないか、`IsSplitterFixed`プロパティが`True`になっている
  * FormのLoadとか、他の何かの処理・イベント等で、上記の固定化処理を行っている

参考記事の例がこちら。  
[【C#】SplitContainerのPanel固定方法](https://imagingsolution.net/program/csharp/fix_splitcontainer_panel/)  
[04.サイズ変更イベント時に、特定のパネルサイズを固定する](http://hiros-
dot.net/VBNET2005/Control/SplitContainer/SplitContainer04.htm)


CC BY-SA 4.0
2019-07-08T05:19:04.983
56486
2019-07-08T05:19:04.983
26370
56417
answer