2012-06-02 33 views
0

我需要更改c#winform的滾動條寬度FlowLayoutPanel,但找不到方法。c#flowlayourpanel滾動寬度

任何人都知道嗎?

+0

滾動條寬度是一個系統設置。 –

+0

@HansPassant如果它的父控件支持,那麼滾動條寬度或高度可以設置..我已經知道datagridview支持..並檢查寫一個答案.. flowlayoutpanel還支持 – sihirbazzz

回答

0

簡單地設置垂直滾動像這樣:

flowLayoutPanel1.Controls.OfType<VScrollBar>().First().Width = 20; //or any int value as you want 

和水平:

flowLayoutPanel1.Controls.OfType<HScrollBar>().First().Height = 15; 

,但這個片段之前,你可能需要確保有表示這種控制滾動條或不..

我以前沒有使用flowLayoutpanel ..所以我不知道你爲什麼在winforms中使用這個控件..

但給你控制顯示上的控制或不滾動條的邏輯/想法..

我用datagridview的這個邏輯..

1-)I,簡單地計算出「顯示總行高「和」總顯示列寬度「

2-)如果總行高度大於當前datagridview高度,則意味着將出現滾動條。對於其他滾動條也是如此(列寬大於dgv寬度)

但是,如果你確定有一個scrollba r顯示在你的控制上,那麼上面的代碼行將根據你的需要設置寬度或高度。

+1

'flowLayoutPanel1.Controls'集合將不會有一個VScrollBar控件在任何時間點,除非你明確地將其添加到FlowLayoutPanel .. – dotNETbeginner

+0

@dotNETbeginner正如我在我的回答中所提到的,我沒有在我的項目中使用flowLayoutpanel ..而且我在datagridview滾動條上的經驗在需要時自動實現與我的描述相同的檢查。所以當需要的時候會有滾動條。並且當不需要滾動條時,它將是「空」;) – sihirbazzz