假設可變大小的表單里有若干控制元件,控制元件我都設定了居中,同時對所有控制元件設定了anchor屬性為none,這樣可以保證在表單大小改變的時候控制元件依然可以居中。
但是在拖動表單大小改變的時候,如果表單變小到控制元件都沒法完全顯示的時候,表單的滾動條不會出現(我設定了表單的autoscroll為true),請問這是為啥?怎么保證在表單很小的時候,滾動條自動出現呢?
同時,我測驗了一下,要想自動出現上下滾動條,就必須設定anchor的top(設定bottom都不行),如果要想自動出現左右滾動條,就必須設定anchor的lef(設定right不行)。
如果要想讓控制元件在表單大小變化時自動居中,又自動出現滾動條,大家一般是怎么解決這個問題的?

uj5u.com熱心網友回復:
控制WinForm的最小尺寸不就可以了。犯不著做滾動條,多代碼還多維護。
Form.MinimumSize = ...
uj5u.com熱心網友回復:
你在背后放一個固定大小和位置panel就好了,視窗小于那個panel就會有滾動條了但是這個視窗的最小內部大小就是那個panel的大小了,你再調小視窗尺寸,按鈕位置也不會跟著變了
uj5u.com熱心網友回復:
放一個2行1列的TableLayoutPanel,Dock屬性設定為Fill。設定自動滾動,同時設定AutoScrollMinSize值。這個值你可以根據效果實際調整。把兩個組件分別放到2行中并設定Dock為Fill,同時設定Margin以調整大小
這樣應該就行了
uj5u.com熱心網友回復:
這個方法沒法讓表單變大時,按鈕自動在表單中居中
uj5u.com熱心網友回復:
測驗了一下,表單大小變化時,按鈕也隨著變化大小,和我初始想法略有不同(控制元件大小不變,只改變位置)
但是這種效果也不錯,值得借鑒
謝謝~~~~
uj5u.com熱心網友回復:
謝謝哥們,限制拖動最小尺寸,也可以避免問題的產生
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/56931.html
標籤:C#
上一篇:Linq 查詢資料時用AsNoTracking()在修改物體提交不會寫入資料庫
下一篇:智慧農業-物聯網
