2015-11-03 74 views
0

我在Visual Basic 2010工作快速Visual Basic如何禁用所有複選框?

我想禁用表單

不僅如此,所有的複選框,因爲你可以在代碼中看到,有49個複選框。而且每個人都有一個事件,我想保存代碼並優化它。

Public Class Form1 
     Dim intNumber As Integer 
     Dim arrNumber(0 To 5) As Integer 
     Dim i, x, y As Integer 
     Dim maxCheck = 6 
     Dim count As Integer = 1 

     Private Sub setCheckbox(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox9.Click, CheckBox8.Click, CheckBox7.Click, CheckBox6.Click, CheckBox5.Click, CheckBox49.Click, CheckBox48.Click, CheckBox47.Click, CheckBox46.Click, CheckBox45.Click, CheckBox44.Click, CheckBox43.Click, CheckBox42.Click, CheckBox41.Click, CheckBox40.Click, CheckBox4.Click, CheckBox39.Click, CheckBox38.Click, CheckBox37.Click, CheckBox36.Click, CheckBox35.Click, CheckBox34.Click, CheckBox33.Click, CheckBox32.Click, CheckBox31.Click, CheckBox30.Click, CheckBox3.Click, CheckBox29.Click, CheckBox28.Click, CheckBox27.Click, CheckBox26.Click, CheckBox25.Click, CheckBox24.Click, CheckBox23.Click, CheckBox22.Click, CheckBox21.Click, CheckBox20.Click, CheckBox2.Click, CheckBox19.Click, CheckBox18.Click, CheckBox17.Click, CheckBox16.Click, CheckBox15.Click, CheckBox14.Click, CheckBox13.Click, CheckBox12.Click, CheckBox11.Click, CheckBox10.Click, CheckBox1.Click 
     If count < 6 Then 
      count = count + 1 
     Else 


     End If 
    End Sub 
End Class 
+0

哇。你需要快速修復這個代碼,然後再增長。 – xxbbcc

回答

1

遍歷表格的所有孩子,如果孩子是CheckBox型的,禁用它。這應該只需要幾行代碼:您可以使用表單的Controls集合來訪問子項。喜歡的東西:

For Each ctrl As Control In container.Controls 
    If TypeOf ctrl Is CheckBox Then 
     ctrl.Enabled = False 
    End If 
Next 

你應該做同樣的事件處理程序:不是有那個瘋狂Handles控制列表,運行時只需添加事件處理程序的複選框中的一個循環。 MSDN有一個關於如何使用AddHandler的例子。

+0

感謝您解釋 – Cazs

+0

@Cazs不客氣 - 我很高興它有所幫助。 – xxbbcc

相關問題