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 в качестве переменной. Затем, когда вкладка будет изменена снова, вкладка в этой переменной станет предыдущей вкладкой.

Ie:

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

 Смежные вопросы

  • Нет связанных вопросов^_^