發新話題

[問題] 關於Unload 刪除label問題

關於Unload 刪除label問題

不好意思,第一次接觸VB6最近開始研究如何動態產生Label
程式內容大概是使用ComboBox 選擇月份
下面會產生對應的天數Label   ex: x月/y號
問題是第一次選擇月份 天數會正常出現
但第二次就會出現錯誤 我試著找出解決方法
最後找到使用unload label(index)的方法
但只能寫在按鈕的事件裡
才能把Label全部載出
寫在其他地方會顯示 "error365 在目前狀態無法載出"
以下是程式碼
---------------------------------------------------------------------------------
'全域變數
Dim days As Integer
Dim created As Boolean
Dim month As Integer
--------------------------------------------------------------------------------------
Private Sub Command1_Click()
Call RemoveLabel 按鈕事件
End Sub
--------------------------------------------------------------------------------------
Private Sub Form_Load()
created = False
Dim months()
months() = Array("一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二")
For i = 0 To 11
Combo1.AddItem months(i)
Next i
End Sub
--------------------------------------------------------------------------------------
Private Sub Combo1_Click()
month = Combo1.ListIndex + 1
days = Day(DateSerial(Year(Date), month + 1, 0))
Call RemoveLabel 加在此處會造成 error365
Call CreateLabel(days, month)
End Sub
--------------------------------------------------------------------------------------
Public Sub CreateLabel(d As Integer, m As Integer)
Dim X As Integer
X = 120
Dim Y As Integer
Y = 240
      For i = 1 To d
        Load Label1(i)
        Label1(i).Top = ((i - 1) \ 7) * 1200 + Y
        Label1(i).Left = ((i - 1) Mod 7) * 1500 + X
        Label1(i).Visible = True
        Label1(i).Caption = m & "/" & i & "號"

      Next i
created = True

End Sub
--------------------------------------------------------------------------------------
Public Sub RemoveLabel()
    If created = True Then '移除Label
    For j = 1 To Label1.Count - 1
        Unload Label1(j)
    Next j
End If
End Sub




TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。