스크롤바가 콘텐츠와 겹치지 않도록하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/26721

  •  09-06-2019
  •  | 
  •  

문제

.NET 및 WinForms로 스크롤 가능한 사용자 컨트롤을 만들 때, 예를 들어 세로 스크롤바가 팝업되어 컨트롤의 내용과 겹치는 상황이 반복적으로 발생하여 가로 스크롤바도 필요합니다.이상적으로는 콘텐츠가 세로 스크롤바를위한 공간을 만들기 위해 약간 축소됩니다.

현재 해결 방법은 컨트롤을 맨 오른쪽 40 픽셀 밖에 두지 않고 세로 스크롤바가 차지하도록하는 것입니다.이것은 여전히 컨트롤을위한 효과적인 클라이언트 공간이기 때문에, 컨트롤이 전혀 숨겨져 있지 않더라도 가로 스크롤바가 세로 스크롤바로 덮일 때 여전히 나타납니다.그러나 적어도 사용자는 표시되는 가로 스크롤바를 실제로 사용 할 필요가 없습니다.

이 모든 것이 작동하도록하는 더 좋은 방법이 있습니까?불필요하고 원치 않는 스크롤바가 전혀 표시되지 않도록하는 방법이 있습니까?

도움이 되었습니까?

해결책

수직 스크롤바의 너비에 맞게 약간 크기를 조정하려면 컨트롤이 필요합니다.이를 달성하는 한 가지 방법은 도킹을 통해 이루어집니다.폼에 컨트롤을 놓는 것보다 패널, 패딩, 최소 / 최대 크기 및 도킹을 약간 조정해야합니다.

다음은 비어있는 새 Form1 뒤에 배치 할 수있는 예제 코드입니다.디자이너 또는 런타임에서 양식의 크기를 조정하면 가로 스크롤 막대가 표시되지 않고 필드가 겹치지 않는 것을 볼 수 있습니다.또한 좋은 측정을 위해 필드에 최대 너비를 지정했습니다. 라코 디스

다른 팁

컨트롤이 패널 내부에있는 경우 패널의 AutoScroll 속성을 False로 설정해보세요.스크롤바를 숨 깁니다.이것이 올바른 방향으로 안내되기를 바랍니다. 라코 디스

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top