tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 原因は Dock の設定かな?
投稿日: 2005/10/26(Wed) 18:53
投稿者るしぇ
あ。色々と操作しててちょっと分かったかも?…コードのミスとかじゃなくって
設計上のミスというか仕様上、当然の事というか…。

えっと、MDI子画面1つだけを考えて下さい。(MDIである事は関係ありませんが)
まず、正常な大きさで表示します。そのまま手動でどんどんフォームの
高さを短くしていって下さい。当然 FlexGrid の表示領域(領域B)が
狭くなっていきますよね?
>あるときFrexGrid部分が表示されなくなります。
それはつまり子フォームの高さがリストボックスをちょうど表示
できる高さの時ですね?その時の FlexGrid の表示領域は?…高さ0!!!
スクロールバーを表示しようにも表示領域がありません。Dock
による設定がそーゆー設定ですからね?。

ちなみにもっと狭くすればリストボックスを表示するスクロールバー
は表示されます。Dock の設定が Top ですから。

では矛盾を解決して下さい。Dock の設定が Fill …つまり空いている
表示領域を埋める…ので領域Bの高さが0以下の時、埋める領域が無い。
表示領域も無い。…でどこにスクロールバーを表示しましょうか?
また、スクロールバーをスクロールして表示させたい FlexGrid の
セルはどの場所に表示しましょうか???

1つの解決法はそんな状態にしない事です。子フォームの高さが
リストボックスの高さより小さくなった場合にリストボックスの
高さを調整するとか…。親フォームのサイズを一定の大きさ以下に
できないようにするとか…。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。