2
我有兩個forms
(1和2)。我一直在與一些代碼作鬥爭,以防止用戶從checkedListBox
中選擇ListBox2
中的項目(form1
)。驗證checkListBox?
我的代碼有點奇怪,因爲即使該項目被添加到從form1
,它繼續顯示msgBox
。我需要msgBox
僅顯示那些未添加到listbox2,form1的項目。
以下是我有:
Public Class Form1
Dim ActSubject As Boolean
Public Function ActivateSubject() As String
Return ActSubject
End Function
Private Sub ListBox2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox2.TextChanged
Dim x As New Items
x.AvailableItems = ListBox2.Items.ToString
For Each x In ListBox2.Items
If ListBox2.Items.Contains(x) Then
ActSubject = True
Else
ActSubject = False
End If
Next
End Sub
End Class
Public Class Form2
Dim HaveActSubject As Boolean = Form1.ActivateSubject
Private Sub CheckedListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckedListBox1.SelectedValueChanged
If HaveActSubject = False Then
MsgBox("Sorry! Subject should be activated six month before registration.")
End If
Return
End Sub
End Class
爲什麼使用listbox2_textchanged代替listbox2_selectedindexchanged? – matzone
我沒有更好的理由,但無論如何沒有得到預期的輸出。 – nondoo
這段代碼基本上檢查ListBox2中的項是否在ListBox2中。您從不使用CheckedListBox1的內容進行驗證。此外,ActivateSubject應該是一個函數,將一個項目作爲參數並檢查該項目是否在ListBox2中 – David