2014-02-27 2 views
2

탭 컨트롤 스크롤 막대의 위치를 ​​캡처하려고합니다. 그러나 이것은 다소 어렵다는 것을 증명합니다. 궁극적 인 목적은 새로운 위치 = (이전 위치 + 105) 인 항목의 새로운 행의 크기로 현재 위치를 변경하여 스크롤바 위치를 재배치하는 것입니다. 위의 주석으로현재 스크롤 막대 위치 캡처 vb.net

는 임을 winform의 vb.net

+0

TabControl에는 일반적으로 ScrollBar가 없습니다. TabPage를 언급하고 있습니까? 그렇다면 Y 값에 대한 AutoScrollPosition 속성을 확인하십시오. – LarsTech

+0

'희미한 정수로 = TabPage1.scrollbar.value 정수로 NEWPOS 희미한 = (CURPOS + 105) TabPage1.scrollbar.value = (NEWPOS)'??? – Argon

+0

LarsTech가 맞습니다. 이것은 TabControl의 TabPage 중 하나입니다. 내 대답과 같이 수직/수평 스크롤에 액세스해야합니다. – varocarbas

답변

0

를 사용하여, 당신은 TabPage (아래 코드에서 TabPage1)을 의미한다. 두 가지 옵션이 있습니다.

a) 표준 .Value 속성 사용 (VerticalScrollHorizontalScroll 모두). 샘플 :

TabPage1.VerticalScroll.Value = TabPage1.VerticalScroll.Value + 105 

Y 값은 맨 위에서 시작하므로 +105는 수직 스크롤이 아래쪽으로 이동한다는 것을 의미합니다.

b) ScrollControlIntoView 방법 사용. 샘플 :

Panel1TabPage1에 포함 된 모든 컨트롤로 대체 할 수
TabPage1.ScrollControlIntoView(Panel1) 

; 두 스크롤 막대 (가로 및 세로)는 주어진 컨트롤 (이 경우 Panel1)이 완전히 보이도록 이동됩니다.

+0

하지만이 코드화 된 것입니다 \ 버튼을 할당하기 때문에 내가 내 tabpage 내 스크롤바를 숨길 수 없다는 내 probierments (내 requierments 그들은 무시 무시하게 보입니다) probs에 대한 보이는 scrollbars 싶지 않아요 – Argon

+0

@Argon 버튼 ? 나는 네가 의미하는 것을 이해하지 못한다. 이 코드는 요청한대로 스크롤 막대의 동작을 제어합니다. 그들을 보이게하는 것은 다른 이야기입니다. 또한이 코드 (또는 다른 하나)는 다소 자동으로 (예 : TabControl/TabPage와 관련된 이벤트 중 하나 또는 질문에서 제안한대로) 트리거 될 수 있습니다. 즉, 지정된 행에 새 행이 추가 될 때 제어) 또는 사용자 개입 (예 : 버튼 클릭) 하지만 이것은 당신의 질문과 관련이 없습니다. 당신이 의미하는 바를 더 잘 설명해 주시겠습니까? – varocarbas

+1

Heavaly UI가 비현실적으로 의존하는 응용 프로그램을 만들고있어, 스크롤바는 그냥 가지마 :)'Private Sub Button2_Click (System.Object, System.EventArgs로 보낸 사람) Button2.Click을 처리합니다. '--- 버튼은 25 개 이상의 ... 어둡게 BTNCOUNT 정수 = Me.TabControl1.SelectedTab.Controls.Count로서 경우 BTNCOUNT> = 25 그런 TabControl1.SelectedTab.VerticalScroll.Value = TabControl1.SelectedTab.VerticalScroll.Value + 동등이거나 있는 MsgBox ("스크롤 할 수 없음") 종료 Sub' – Argon