2013-10-24 5 views
1

커뮤니티, 현재 현재 탭을 제외한 내 사용자 정의 다중 페이지에서 내 탭을 숨기려고합니다. 사용자는 버튼을 클릭하여 페이지간에 앞뒤로 전환 할 수 있습니다. 일부 단추는 하위 루틴을 공유합니다. 사용자가 버튼을 클릭하면 새 탭이 선택되면 이전 탭이 숨겨집니다. 이것이 이중 질문이라고 생각합니다.현재 멀티 페이지 탭 값의 값을 동적으로 가져 오는 방법은 무엇입니까?

1) 이전 탭 선택 값을 얻으려면 어떻게해야합니까?

2) 어떻게 탭 값을 반복 할 수 있습니까? 내 목표는 현재 다른 탭 캡션이나 값을 테스트하는 것입니다. 이것은 어떤 페이지와 어떤 버튼이 서브 루틴을 호출하는지에 관계없이 모든 것을 숨기는 쉬운 방법이라고 생각했습니다.

은 지금은 단지

Sub NewCreditSetup() 
    MultiPage1.Pages(1).Visible = True 
    MultiPage1.Value = 1 
    MultiPage1.Pages(0).Visible = False 
    //More code displaying tab...irrelevant 
End Sub 
+0

'버튼'이란 무엇입니까? '버튼'을 보여주는 스크린 샷을 첨부 할 수 있습니까? '페이지'이벤트를 시도해 보았습니다. 그 (것)들을 붙잡고 결과로 활동을 방아쇠를 당기기 위하여 ...? –

답변

2

당신은 탭이 변경 될 때 결정하기 위해 탭을 변경 이벤트를 사용하여 변수로 현재 탭 index를 저장할 수 있습니다 ... 하나 개의 탭 버튼이 있습니다. 그런 다음 탭이 다시 변경되면이 변수의 탭이 이전 탭이됩니다.

즉 :

Private iPrevTab As Integer 
Private iCurTab As Integer 

Private Sub MultiPage1_Change() 
    iPrevTab = iCurTab 
    iCurTab = MultiPage1.Index 

    'You can also check here what that tab is to do something with it 
    If MultiPage1.Value = MultiPage1.Pages("mySpecialPage").Index Then 
     'Go Nuts 
    End If 

End Sub 

할 수 있습니다 다음 루프 모든 탭을 통해 자신의 이름, 자막 또는 인덱스에 대해 확인한다. 예 :

Private Sub LoopTabs() 
    Dim ii as Integer   

    for ii = 1 to MultiPage1.Pages.Count 
     If MultiPage1.Pages(ii).Index = iPrevTab Then 
      Debug.Print MultiPage1.Pages(ii).Name & " " & MultiPage1.Pages(ii).Caption 
     End If 
    Next ii 
End Sub 

일반적인 표시가 아니므로 사용자를 혼란스럽게 할 수 있으므로주의해야합니다. 나는 당신에게 그것을 맡길 것이다.

+0

이것은 아름답게 해결되었습니다. 사이트를 가져 주셔서 감사합니다. 나는 당신의 논리를 사용하여 갔다. 이 과정에서 나는 또한 어떤 종류의 일을 시도했다. 페이지로 변경되는 각 단추에 대해 동일한 루틴을 사용하여 내용을 표시했습니다. 나는 현재 페이지의 값이 객관적인 목표 페이지에 주어진 페이지인지를 검사했다. 그렇지 않은 경우 x 값에 할당했습니다. 나는 현재 페이지를 보이지 않게했다. (모든 탭은 보이지 않지만 홈 페이지입니다.) 그런 다음 객관적인 목표 페이지를 표시했습니다. 다시 한번 감사드립니다. –

+0

위대한 작품. 이 양식을 사용하여 양식의 상태를 기억할 수도 있습니다. 예를 들어 사용자가 두 번째 탭에 있고 닫으면 다음에로드 할 때 해당 탭으로 설정할 수 있습니다. – CuberChase