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

■34219 / 親記事)  スクロールバーが出た時に高さを変えたい
  
□投稿者/ 猫まっしぐら 一般人(12回)-(2019/04/12(Fri) 01:07:58)
  • アイコン環境/言語:[Windows7 VB.net2005 WinForms] 
    分類:[.NET] 

    いつもお世話になっております
    AutoScroll=True,WrapContents=FalseなFlowLayoutPanelにボタンをずらっと並べています
    このパネルが幅を変更されてボタンが表示出来なくなった時にスクロールバーが表示されるのはいいのですが、スクロールバーがボタンに被さって表示されてしまいます
    かと言ってスクロールバーの高さを予め余分に取っておくとスクロールバーが表示されない時に間が抜けて見えてしまいます
    スクロールバーが表示されない時はパネルがボタンの高さで、表示されたらスクロールバーの高さ分自動的にパネルの高さを高くしたいのですが、そんなことは可能でしょうか
    よろしくお願いします
マルチポストを報告
違反を報告
引用返信 削除キー/
■34221 / ResNo.1)  Re[1]: スクロールバーが出た時に高さを変えたい
□投稿者/ Hongliang 大御所(556回)-(2019/04/12(Fri) 09:21:56)
  • アイコン.SizeChangedイベントにて、.HorizontalScroll.Visibleをチェックして、それによって.Heightを切り替える、というのはどうでしょう。
    横スクロールバーの高さはSystemInformation.HorizontalScrollBarHeightで取得できます。
違反を報告
引用返信 削除キー/
■34222 / ResNo.2)  Re[2]: スクロールバーが出た時に高さを変えたい
□投稿者/ Hongliang 大御所(557回)-(2019/04/12(Fri) 09:56:35)
  • アイコン追記。
    横スクロールバーが付くギリギリのところで縦スクロールバーが一瞬出たりしてちょっと目障りな感じ。
    イベントハンドラの最後で.PerformLayout()すれば縦スクロールバーを防げるっぽい。
違反を報告
引用返信 削除キー/
■34223 / ResNo.3)  Re[2]: スクロールバーが出た時に高さを変えたい
□投稿者/ 猫まっしぐら 一般人(13回)-(2019/04/12(Fri) 11:05:52)
  • アイコンNo34221に返信(Hongliangさんの記事)

    レスありがとうございます

    > .SizeChangedイベントにて、.HorizontalScroll.Visibleをチェックして、それによって.Heightを切り替える、というのはどうでしょう。

    これで出来ました
    ありがとうございました
解決み!
違反を報告
引用返信 削除キー/
■34224 / ResNo.4)  Re[3]: スクロールバーが出た時に高さを変えたい
□投稿者/ 猫まっしぐら 一般人(14回)-(2019/04/12(Fri) 11:09:56)
  • アイコンNo34222に返信(Hongliangさんの記事)

    入れ違いになってしまいました(^^;

    > 追記。
    > 横スクロールバーが付くギリギリのところで縦スクロールバーが一瞬出たりしてちょっと目障りな感じ。
    > イベントハンドラの最後で.PerformLayout()すれば縦スクロールバーを防げるっぽい。

    私もこれ出たり出なかったりでちょっと迷いましたが1ピクセル余分にしたら出なくなりました
    重ねてありがとうございました
解決み!
違反を報告
引用返信 削除キー/



スレッド内ページ移動 / << 0 >>

このスレッドに書きこむ

Mode/  Pass/


- Child Tree -