Board logo

標題: [發問] 請教 Label 與 Combobox 對應讀取 [打印本頁]

作者: mark15jill    時間: 2012-12-18 12:04     標題: 請教 Label 與 Combobox 對應讀取

問題:
若未在 userform 上預先設定 label 與 combobox 兩物件的話
要如何判斷 當 combobox 數值變動 ( 如 text 從 1 變動至  2 )
label 的 caption 也跟著變動?


以下程式碼
  1. Private Sub UserForm_Initialize()
  2.   
  3.     Dim myForm1
  4.     Dim myLabel1 As MSForms.Label
  5.     Dim mycom As MSForms.ComboBox
  6.    
  7.     Set mycom = UserForm1.Controls.Add("forms.combobox.1")
  8.     With mycom
  9.         .Top = 100
  10.         .Left = 10
  11.         For su = 1 To 30
  12.             .AddItem (su)
  13.         Next
  14.     End With
  15.    
  16.     '動態新增Label控件
  17.     Set myLabel1 = _
  18.             UserForm1.Controls.Add("forms.Label.1")
  19.     '設置該Label的名稱、高度、寬度、位置等
  20.     With myLabel1
  21.          .Left = 10
  22.          .Top = 10
  23.          .Width = 50
  24.          .Height = 50
  25.          .BackColor = 201
  26.          .Caption = mycom.Text
  27.     End With
  28. End Sub
複製代碼

作者: GBKEE    時間: 2012-12-18 12:40

本帖最後由 GBKEE 於 2012-12-18 12:47 編輯

回復 1# mark15jill
使用 [物件類別模組]

[attach]13591[/attach]
  1. Option Explicit
  2. Dim XClass As New Class1          '新的 [物件類別模組]
  3. Public myLabel1 As MSForms.Label  '需設為公用:物件類別模組的程式才可用到
  4. Private Sub UserForm_Initialize()
  5.     Dim myForm1, su As Variant
  6.     'Dim myLabel1 As MSForms.Label   '註解掉
  7.     Dim mycom As MSForms.ComboBox
  8.     Set mycom = UserForm1.Controls.Add("forms.combobox.1")
  9.     Set XClass.CoBoX = mycom
  10.     With mycom
  11.         .Top = 100
  12.         .Left = 10
  13.         For su = 1 To 30
  14.             .AddItem (su)
  15.         Next
  16.     End With
  17.     '動態新增Label控件
  18.     Set myLabel1 = _
  19.             UserForm1.Controls.Add("forms.Label.1")
  20.             '設置該Label的名稱、高度、寬度、位置等
  21.     With myLabel1
  22.          .Left = 10
  23.          .Top = 10
  24.          .Width = 50
  25.          .Height = 50
  26.          .ForeColor = vbWhite
  27.          .BackColor = vbBlue
  28.          .Caption = mycom.Text
  29.     End With
  30. End Sub
複製代碼
  1. Option Explicit
  2. Public WithEvents CoBoX As MSForms.ComboBox
  3. Private Sub CoBoX_Change()
  4.     UserForm1.myLabel1.Caption = CoBoX
  5. End Sub
複製代碼





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