How to reference a control

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi,
If the control's name is stored in a string one can iterate through the
controls collection of a form to access the control.

dim s as string="chkIsValid"
dim chk as CheckBox
for each ctl as control in me.controls
if typeof ctl is CheckBox andalso ctl.name.tolower=s.tolower then
chk=ctype(ctl,Checkbox)
exit for
end if
next

Is there a faster (and more elegant) way to do so?

Thanks

Leo Leys
 
How was your UI created?
Was it by code generated with Visual Studio?
In such case each control is defined as a field of the form/control it's in.
You could just adress it directly!
such as:
chkIsValid.Checked = true;
 
Leo,
Try to leverage the search operation to .net. If input is case sensitive,
i.e. you are looking for an exact match, you may try this:
chk = TryCast(Me.Controls(controlName), CheckBox)
If there is a CheckBox with the name 'controlName', chk will point to it.
Otherwise it will be 'nothing'.

Thx,
Deniz
Developer, Microsoft
 
Back
Top