DOBON.NET DOBON.NETプログラミング掲示板過去ログ

分割ウィンドウのウィンドウの固定

分類:[.NET]

分割ウィンドウで
ウィンドウを左と右に分けたとき
ウィンドウのサイズを大きくしても左側の
横サイズを変更せず左のウィンドウの横サイズだけを
大きくしたいのですがこれはどのようにすればいいでしょうか?
縦のサイズは変わってもいいです。
たとえばウィンドウを最大化しても左のウィンドウだけ横サイズは
変わらず右のウィンドウの横サイズを大きくしたいのです。
ウィンドウを小さくしたときも左のウィンドウだけ横サイズは
変わらず右のウィンドウだけ小さくしたいのですが。
またウィンドウを上下に分割したときも
サイズを大きくしたら上だけどんなにウィンドウを大きくしても
小さくしても縦幅のサイズは変わらず下のウィンドウだけ
縦のサイズがかわるようにしたいのです。

Microsoft Internet Explorerでお気に入りなど
でウィンドウを分割したときはこのような仕様になっているので
このようにしたいのですがよろしくお願いします

C#です
バージョンは2.0です
お世話になります。

■No16563に返信(mimiさんの記事)
> 縦のサイズは変わってもいいです。
と書かれている事から、

> 分割ウィンドウで
> ウィンドウを左と右に分けたとき
> ウィンドウのサイズを大きくしても左側の
> 横サイズを変更せず左のウィンドウの横サイズだけを
横サイズを変更せず右のウィンドウの横サイズだけを
> 大きくしたいのですがこれはどのようにすればいいでしょうか?
と読んだのですが、問題ないでしょうか。

SpliterContainer を 配置し、以下のプロパティに。
Dock : Fill
IsSplitterFixed : true
SplitterDistance : 100

それで、
public partial class Form1 : Form
{
  public Form1()
  {
    InitializeComponent();
  }

  private void Form1_SizeChanged(object sender, EventArgs e)
  {
    this.splitContainer1.SplitterDistance = 100;
  }
}

こんな形で実装してやると、つねに左側と右側の境界線は
左端から 100 ピクセルの位置に表示され、
左側のパネルの横幅は変わりません。

DOBON.NET | プログラミング道 | プログラミング掲示板