2012-06-02 5 views
0

Мне нужно изменить ширину полосы прокрутки C# winform FlowLayoutPanel, но вам не повезло найти.C# flowlayourpanel scroll width

Кто-нибудь знает?

+0

Ширина полосы прокрутки - это системная настройка. –

+0

@HansPassant, если он поддерживает родительский контроль, тогда можно установить ширину полосы прокрутки или высоту. Я уже знаю, что datagridview поддерживает .. и проверял, чтобы написать ответ ..flowlayoutpanel также поддерживает – sihirbazzz

ответ

0

Я не думаю, что вы можете сделать это так, как хотите. Возможно, вы можете построить свой собственный, пожалуйста, посмотрите. herehttp://www.codeproject.com/KB/miscctrl/customscrollbar.aspx

Есть уже некоторые вопросы/ответы по данному вопросу here.

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) Я просто вычислить «отображается общее высота строк "и" Общая ширина отображаемых колонок "

2-) если общая высота строк больше текущей высоты datagridview, это означает, что будет полоса прокрутки. То же самое для другой полосы прокрутки (ширина столбцов больше dgv ширина)

Но если вы уверены, что есть прокрутка r отображается на вашем контроле, тогда над строками кода будет задаваться ширина или высота по мере необходимости.

+1

'flowLayoutPanel1.Controls' коллекция не будет иметь VScrollBar-элемент управления в любой момент времени, если вы не добавите его явно в FlowLayoutPanel. – dotNETbeginner

+0

@dotNETbeginner Как я уже упомянул в своем ответе, я не использовал flowLayoutpanel в своих проектах. И поскольку мой опыт в прокруточных панелях datagridview автоматически реализуется, когда это необходимо, почти такая же проверка с моим описанием. Поэтому, когда это необходимо, будут полосы прокрутки. И когда нет необходимости в полосах прокрутки, это будет «null»;) – sihirbazzz