Koska VB.NETissä ei ole Control Arrayta, omassa projeketissani törmäsin ongelmaan monen kontrollin tyhjentämiseen kerralla, ja sain ongelman ratkaistuksi näillä.
Nämä funktiot tyhjentävät formin kaikki Text- ja Checkbox-kontrollit, myös siinä tapauksessa että ne ovat esimerkiksi TabControl- tai GroupBox-elementtien pentuja.
Funktiot on hyvä laittaa vaikka Moduleen, ja kutsua niitä sitten kohteena olevalta formilta.
Apuna funktioiden koostamisesa on käytetty netistä löytyviä esimerkkejä, että mistään omista oivalluksista ei ole kyse.
Tekstiboksien tyhjennys
Public Function tyhjennaTekstiboxit(ByVal kontrollinHuoltaja As Control)
'tyhjentää tekstiruudut formilta
Dim kontrolli As Control
For Each kontrolli In kontrollinHuoltaja.Controls
If TypeOf kontrolli Is TextBox Then
kontrolli.Text = ""
End If
' jos kontrollilla on pentuja, kutsuu funktio itseään sillä
If kontrolli.HasChildren Then
tyhjennaTekstiboxit(kontrolli)
End If
Next
End FunctionCheckboxien tyhjennys
Public Function tyhjennaCheckboxit(ByVal kontrollinHuoltaja As Control)
'tyhjentää checkboxit formilta
Dim kontrolli As Control
For Each kontrolli In kontrollinHuoltaja.Controls
If TypeOf kontrolli Is CheckBox Then
Dim ruksiboksi As CheckBox = CType(kontrolli, CheckBox)
If ruksiboksi.Checked = True Then
ruksiboksi.Checked = False
End If
End If
' jos kontrollilla on pentuja, kutsuu funktio itseään sillä
If kontrolli.HasChildren Then
tyhjennaCheckboxit(kontrolli)
End If
Next
End FunctionEsimerkkikutsut
'Tekstiboksien tyhjennys Call tyhjennaTekstiboxit(Me) 'Checkboxien tyhjennys Call tyhjennaCheckboxit(Me)
Aihe on jo aika vanha, joten et voi enää vastata siihen.