返回列表 上一主題 發帖

[發問] 請教 Label 與 Combobox 對應讀取

[發問] 請教 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:47 編輯

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

  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
複製代碼

TOP

        靜思自在 : 我們最大的敵人不是別人.可能是自己。
返回列表 上一主題