Board logo

標題: [發問] MultiPage寫法 [打印本頁]

作者: acdx    時間: 2014-8-20 15:00     標題: MultiPage寫法

本帖最後由 acdx 於 2014-8-20 15:06 編輯

[attach]18976[/attach]
表單中有數個MultiPage,該如何使他跳至指定的頁面?
範例:
選1U-C2時自動跳到1U底下C2
[attach]18973[/attach]
選1U-C4時自動跳到1U底下C4
[attach]18974[/attach]
選3U-C4時卻不會跳到3U底下C4
[attach]18975[/attach]
作者: GBKEE    時間: 2014-8-20 21:32

本帖最後由 GBKEE 於 2014-8-21 05:58 編輯

回復 1# acdx
試試看
  1. Private Sub CommandButton4_Click()
  2.     Dim i As Integer
  3.     With Frame5
  4.         For i = 0 To .Count - 1
  5.              .Controls(i).Value = False
  6.         Next
  7.     End With
  8.     OptionButton11_Click
  9. End Sub
複製代碼
  1. Private Sub OptionButton25_Click()
  2.     Dim i As Integer, ii As Integer   
  3.     i = -1
  4.     With Frame93
  5.         For ii = 0 To .Count - 1
  6.             If .Controls(ii).Value Then i = ii: Exit For
  7.         Next
  8.     End With
  9.     With MultiPage2
  10.         For ii = 0 To .Pages.Count - 1
  11.             .Pages(ii).Enabled = (i = ii)
  12.         Next
  13.         .Value = i
  14.     End With
  15.     OptionButton11_Click
  16. End SubEnd Sub
  17. Private Sub OptionButton26_Click()
  18.     OptionButton25_Click
  19. End Sub
  20. Private Sub OptionButton27_Click()
  21.     OptionButton25_Click
  22. End Sub
  23. Private Sub OptionButton28_Click()
  24.     OptionButton25_Click
  25. End Sub
複製代碼
  1. Private Sub OptionButton11_Click()
  2.     Dim p As Control, i As Integer, ii As Integer
  3.     With MultiPage2
  4.         Set p = .Pages(.Value).Controls(0)
  5.     End With
  6.     i = -1
  7.     With Frame5
  8.         For ii = 0 To .Controls.Count - 1
  9.             If .Controls(ii).Value Then i = ii: Exit For
  10.         Next
  11.     End With
  12.     With p
  13.         For ii = 0 To .Pages.Count - 1
  14.             .Pages(ii).Enabled = (i = ii)
  15.         Next
  16.         If .Pages.Count - 1 >= i Then .Value = i
  17.     End With
  18. End Sub
  19. Private Sub OptionButton12_Click()
  20.     OptionButton11_Click
  21. End Sub
  22. Private Sub OptionButton13_Click()
  23.     OptionButton11_Click
  24. End Sub
  25. Private Sub OptionButton14_Click()
  26.     OptionButton11_Click
  27. End Sub
  28. Private Sub OptionButton15_Click()
  29.     OptionButton11_Click
  30. End Sub
複製代碼

作者: acdx    時間: 2014-8-21 17:43

回復 2# GBKEE
感謝G大的幫忙
在下對程式還有些不懂
Private Sub OptionButton11_Click()
    Dim p As Control, i As Integer, ii As Integer
    With MultiPage2
        Set p = .Pages(.Value).Controls(0)
    End With
     i = -1
     With Frame5
         For ii = 0 To .Controls.Count - 1
             If .Controls(ii).Value Then i = ii: Exit For
         Next
     End With
     With p
         For ii = 0 To .Pages.Count - 1
             .Pages(ii).Enabled = (i = ii)
         Next
         If .Pages.Count - 1 >= i Then .Value = i        '此行的用途為何?
     End With
End Sub
作者: GBKEE    時間: 2014-8-21 20:00

本帖最後由 GBKEE 於 2014-8-21 20:44 編輯

回復 3# acdx
  1. Private Sub OptionButton11_Click()
  2.     Dim p As Control, i As Integer, ii As Integer
  3.     With MultiPage2
  4.         Set p = .Pages(.Value).Controls(0)  'MultiPage物件*************
  5.         '**************************************************************
  6.         '如 MultiPage2.Value=3
  7.         'MultiPage2的Page(3)["Others"]中MultiPage3只有一個Page(User-Defined)
  8.         '**************************************************************
  9.     End With     
  10.     i = -1
  11.      With Frame5 '有5個OptionButton  **************
  12.          For ii = 0 To .Controls.Count - 1
  13.              If .Controls(ii).Value Then i = ii: Exit For
  14.                 '***************************************
  15.                 'Frame5 第5個OptionButton.Value=True i = 4
  16.                 '沒有.Value=True 時  i = -1            
  17.                 '***************************************               
  18.          Next
  19.      End With
  20.      With p     'MultiPage物件**************************
  21.          For ii = 0 To .Pages.Count - 1
  22.              .Pages(ii).Enabled = (i = ii)
  23.          Next
  24.          If .Pages.Count - 1 >= i Then .Value = i        '此行的用途為何?       
  25.         '***************************************************
  26.         '如 MultiPage2.Value=3 且 i = 4 或 i = -1        
  27.         '沒有If .Pages.Count - 1 >= i 的限制,.Value = i 會有錯誤產生.
  28.         '***************************************************
  29.      End With
  30. End Sub
複製代碼
使用Class 物件類別模組,表單中OptionButton控制項的名稱有修改.
[attach]18993[/attach]




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)