Panel.AutoScroll이 true이고 스크롤 막대가 보이지 않을 때 사용할 수있는 동일한 기능을 사용하고 싶습니다.패널을 수동으로 스크롤하는 방법은 무엇입니까?
이렇게하려면 내 코드에서 함수를 사용하여 왼쪽/오른쪽 위/아래로 스크롤하는 방법을 알아야합니다.
Panel.AutoScroll이 true이고 스크롤 막대가 보이지 않을 때 사용할 수있는 동일한 기능을 사용하고 싶습니다.패널을 수동으로 스크롤하는 방법은 무엇입니까?
이렇게하려면 내 코드에서 함수를 사용하여 왼쪽/오른쪽 위/아래로 스크롤하는 방법을 알아야합니다.
당신은 구성 요소의 VerticalScroll 및 HorizontalScroll 속성을 사용할 수 있어야합니다 : 또는 당신은 모든 패널 아이들을 반복하고 자신의 위치를 조정할 수
c.HorizontalScroll.Value += 100;
c.VerticalScroll.Value = c.VerticalScroll.Maximum;
이 작업을 수행하기 위해 아마도 패널의 속성있다 .
예 : 마찬가지로 그들이 위치 그들을 패널 밖으로 이동하기 위해 패널 크기보다 더 큰 가치를 가질 수
int xoffset = 10;
foreach(Control c in panel1.Controls)
c.Location.X += xoffset;
컨트롤이 그들을 패널 밖으로 이동 부정적인 위치로 이동할 수 있습니다 : 모든 컨트롤을 10 픽셀로 이동합니다 .
위치를 -ve 값으로 설정할 수 있다고 생각하지 않습니다. – pmcilreavy
fallenidol : 그건 그냥 잘못입니다! 직접 해보십시오. 컨트롤의 .Left 속성을 -10으로 설정하면 컨테이너의 경계 왼쪽으로 이동합니다. –
나는 아직도이 대답을위한 downwotes를 참조하십시오. 누군가가하는 경우, 이유에 대한 코멘트를 추가해주세요. 저는 매우 호기심이 많습니다. –
Autoscroll 속성을 사용하지 않으려는 경우, 오래 전에 사용했던 방법이 있습니다.
간단하고 아름답게 작동합니다.
이 코드는 작성한 코드가 없기 때문에 내가 본 모든 다른 방법보다 효과적입니다. – MrWuf
왜 스크롤 막대 컨트롤을 사용합니까? 상위 패널을 자동 스크롤로 설정하십시오. – Traubenfuchs
Cyril의 훌륭한 제안은 하위 패널의 높이가 모든 하위 컨트롤 (전체 패널을 표시 할만큼 충분히 큰 부모 폼)을 볼만큼 충분히 커야한다는 것입니다. – AlainD
AutoScroll = true 인 경우에만 작동하지만 HorizontalScroll/VerticalScroll을 숨길 수는 없습니다. Scroll.Visible = false로 설정하면 스크롤을 숨기지 않습니다. – Jonas
OP와 같이 스크롤바를 숨기려는 사람에게는 누구나 참고하십시오. 시도하지 마십시오. –
내가 발견 한 이상한 버그로 인해,'var v = ScrollingPanel.VerticalScroll; v.Value = v.Value = Math.Min (v.Maximum, v.Value + v.LargeChange); '또는 스크롤바는 실제로 패널이 움직일 때 움직이지 않을 것입니다. 어떤 이유로 스크롤 막대를 그리기 직전에 값이 변경되지만 두 번째 값을 설정하면 값이 업데이트됩니다. – Patrick