2011年11月5日土曜日

c# splitcontainerの位置を保存

やりたいこと

ウィンドウのサイズや、スプリットしたウィンドウのそれぞれの位置関係を保存しておいて、再起動したときに同じサイズで表示させたい。

次のようなformを考えてます。
左ペインにツリービュー、右ペインにデータグリッドビューがはっつけてあります。

ウィンドウサイズ

ウィンドウサイズはこちらを参考にすると簡単にできた。

Windowsアプリケーションの位置やサイズを保存するには?[2.0のみ、C#、VB]



スプリットのサイズ
こっちがよくわからんかったんですが、できたのでメモしておきます。

1.プロパティウィンドウで、ApplicationSetings -> ProperyBindeing
-> ...ボタン -> アプリケーション設定にて、SplitterDistanceを設定する。
2.ツリービューとデータグリッドビューのプロパティで"Dock"をFillに設定。

これでOK

こちらのページを参考にしました。
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard18.htm

3.Form1_FormClosing()で
Properties.Settings.Default.Save()を実行。
苦労した点
当初ツリビューとデータグリッドビューのプロパティで、Dockではなく、Anchorを上下左右に設定してました。この設定でもウィンドウサイズやスプリッターの位置に応じてツリビューとデータグリッドビューのサイズが変わるのですが、SplitterDistanceを設定するとなんだかうまくうごかなくなります。





0 件のコメント:
コメントを投稿