つぶやき、ですが・・・
.NET Framework 2.0 から追加されました SplitContainer/SplitterPanel が異常に使いにくい。
- SplitContainer.Panel1Collapsed / Panel2Collapsed プロパティでパネルの開閉するって、どうかしてるよ。
- SplitterPanel が sealed クラスなのは、どうかしてるよ。
- SplitterContainer.Panel1 / Panel2 からしか各パネルにアクセスできないって、どうかしてるよ。
- SplitContainer の両方のパネルを閉じられないって、どうかしてるよ。
順を追ってみていきます。
SplitContainer.Panel1Collapsed / Panel2Collapsed プロパティでパネルの開閉するって、どうかしてるよ。
「メソッドでヤラせろよ。」とか、「SplitterPanel.Collapsed プロパティ(internal)を使わせろ。」とか、そういう話。というか、どうして、「Panels」がないんだ! 信じられない!
SplitterPanel が sealed クラスなのは、どうかしてるよ。
あぁ、もう最悪。継承できない。(SplitContainer を継承して、無駄なものを作ることは可能)
SplitterContainer.Panel1 / Panel2 からしか各パネルにアクセスできないって、どうかしてるよ。
我求ム「Panels」。ま、内部的には「Controls」に「Panel1」と「Panel2」が入っているのは知っているけど、いちいちキャストせにゃならんじゃん。いうか、パネル2つしかないのってもったいないよ!
SplitContainer の両方のパネルを閉じられないって、どうかしてるよ。
これ、ちょっと特殊だけど、両方のパネルを閉じたときには、その SplitContainer の親要素が SplitterPanel であれば、その SplitterPanel を閉じて欲しいのよね(そうじゃないときは、例外発生か、閉じられないか)。
以上