none
TreeViewのサイズを動的に変更するには RRS feed

  • 質問

  • VS2008+VBでWinアプリ開発を行っています。
    Windows経験がほとんどなく質問が的を射ていないかもしれませんがよろしくお願い致します。

    ちょうどOutlook Expressのように、TreeViewコントロールを左端に配置していますが、
    フォームの最大化ボタンで、TreeViewの高さを最大化したりNormalに戻したり、サイズが
    ドラッグで変更された場合にフォームの最大サイズに調整したりしたいと思っています。

    フォームの最大化は、Resizeイベントで取得できることはわかりました。
    ただ、TreeViewの高さを調整(設定)する方法がわかりません、、

    Resizeイベントで、試しに以下のようにやってみたのですが、サイズがかわりませんでした。

      Private Sub Form1_Resize(...)
          Select Case Me.WindowState
          Case FormWindowState.Maximized
               TreeView.Height = 1000
          Case FormWindowState.Normal
                TreeView.Height = 300
          End Select
      End Sub

    すみませんが、TreeViewの高さの設定方法と、フォームサイズに合わせたサイズの調整方法
    をご教授いただけないでしょうか?

    宜しくお願い致します。

    2009年5月11日 2:14

回答

  • そもそもフォーム以外に最大化とか言う概念が無いわけで、最大化が解除できないって状態がどんなのかよくわかりませんが。
    「フォームを最大化したあと元のサイズに戻しても TreeView のサイズがフォーム最大化時のまま戻らない」ってことなら、普通に設定すればそんなことにはならないのでなんか間違ってるんでしょう。
    個人的には Anchor より Dock の方が楽で好みです。
    • 回答としてマーク WINAMA 2009年5月14日 8:26
    2009年5月11日 8:50

すべての返信

  • Dock プロパティや Anchor プロパティで解決できませんか?
    2009年5月11日 2:32
  • ありがとうございます。

    Anchorプロパティの設定で最大化はできました。
    しかし、Normalに戻しても最大化が解除できません。
    ドラッグでサイズを縮小しても同様にNormalのサイズからかわりません。

    これはResizeイベント・Layoutイベントで、何らかの処理をする必要があるんでしょうか?

    宜しくお願い致します。

    2009年5月11日 4:39
  • そもそもフォーム以外に最大化とか言う概念が無いわけで、最大化が解除できないって状態がどんなのかよくわかりませんが。
    「フォームを最大化したあと元のサイズに戻しても TreeView のサイズがフォーム最大化時のまま戻らない」ってことなら、普通に設定すればそんなことにはならないのでなんか間違ってるんでしょう。
    個人的には Anchor より Dock の方が楽で好みです。
    • 回答としてマーク WINAMA 2009年5月14日 8:26
    2009年5月11日 8:50
  • サイズがフォーム最大化のまま戻らないんですが、もう一度見直してみます。

    ありがとうございました。

    2009年5月11日 11:01
  • 念のため、ResizeイベントやLayoutイベント内で設定するのではなく、デザイナ上でコンパイル前に設定しておきます。
    従ってこれらのイベントでは特にすることはありません。
    2009年5月11日 11:02