2012-06-02 3 views
0

C# winform 스크롤 막대 너비를 변경해야합니다. 그러나 찾을 방법은 없습니다.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에서 사용하는지 모르겠다.

(210)

하지만 당신에게 컨트롤 여부에 보여 스크롤바를 제어하는 ​​로직/아이디어를 제공하는 ... 내가 DataGridView에이 논리를 사용

..

1) I, 단순히 계산은 "표시 총 행 높이 "및"표시된 총 열 너비 "

2) 총 행 높이가 현재 datagridview 높이보다 큰 경우 스크롤 막대가있을 것임을 의미합니다. 다른 스크롤 막대에서도 마찬가지입니다 (열 너비가 dgv보다 큼). 너비)

그러나 스크롤바가 있다고 확신하는 경우 r 컨트롤을 보여줍니다 위의 코드 줄 너비 또는 높이를 필요에 따라 설정합니다.

+1

을 지원합니다. 'flowLayoutPanel1.Controls' 컬렉션에는 VScrollBar 컨트롤이 없습니다. 언제든지 FlowLayoutPanel에 명시 적으로 추가하지 않는 한 어떤 시점에서. – dotNETbeginner

+0

@ dotNETbeginner 내 대답에서 언급했듯이 내 프로젝트에서 flowLayoutpanel을 사용하지 않았습니다. 그리고 datagridview 스크롤 막대에 대한 내 경험에 따라 필요할 때 거의 자동으로 구현됩니다. 내 설명과 같은 검사 ... 그래서 필요할 때 거기에 스크롤바 .. 그리고 스크롤바 필요가 없을 때 "null";) – sihirbazzz