시스템 스크롤바의 현재 너비를 어떻게 알 수 있습니까?


96

아시다시피 Display Properties-> Appearance-> Advanced-> Item : ScrollBar에서 스크롤바 너비의 너비를 사용자 지정할 수 있습니다. 기본값은 17입니다. 그러나 이것이 항상 사실이라고 가정 할 수는 없습니다.이 값을 검색 할 수 있습니까?

답변:



28

세로 스크롤 막대 너비

System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;

9

ScrollableControl스크롤 막대의 크기를 뺀 크기를 알고 싶다면 가장 쉬운 방법은 Control.ClientSize속성 을 사용하는 것 입니다.

로부터 문서 :

컨트롤에있는 클라이언트 영역의 높이와 너비를 가져 오거나 설정합니다. 컨트롤의 클라이언트 영역은 컨트롤의 경계에서 스크롤 막대 , 테두리, 제목 표시 줄 및 메뉴 와 같은 비 클라이언트 요소를 뺀 것 입니다.


3
안타깝게도 ClientSize에는 스크롤 막대의 너비도 포함됩니다 (ActualWidth와 동일한 값을 생성 함). 그래도 말이되지 않습니다.
Oyvind

2

컨트롤의 ClientSize 속성을 건너 뜁니다. 적어도 VS2013에서는 스크롤바가 ClientSize에 포함되어 있습니다.

너비가 304이고 세로 스크롤바가있는 RichTextBox를 포맷했을 때 클라이언트 크기 너비는 300이었으며 테두리 만 고려했습니다.

스크롤 막대 너비를 얻으려면 System.Windows.Forms.SystemInformation.VerticalScrollBarWidth를 사용하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.