'Must refer to the namespace system.reflection, System.comPonentModel
'The following value according to the control name and attribute name
Public function getValueControlProperty (Byval ClassInstance Asbject, Byval controlName as string) AS Object
Dim Result As Object
DIM mytype as type = classinstance.gettype
Dim MyfieldInfo as FieldInfo = Mytype.Getfield ("_" & controlname, bindingflags.nonpublic OR_
Bindingflags.instance or bindingflags.public or bindingflags.instance)
IF not myfieldinfo is nothing then
DIM Properties as PropertyDescriptorCollection = typeDescriptor.getProperties (MyTYPE)
DIM MyProperty As PropertyDescriptor = Properties.Find (PropertyName, FALSE)
IF not myproperty is nothing then
DIM CTR As Object
Ctr = myfieldinfo.getValue (ClassInstance)
Try
Result = MyProperty.getValue (CTR)
Catch exception
MSGBOX (ex.Message)
END TRY
END IF
END IF
Return RESULT
END FUNCTION
'The following assignments according to the control name and attribute name
Public Function SetValueControlprolProperty (Byval CLassinstance As String, Byval PropertyName As String, Byval Value As Object) AS Object
Dim Result As Object
DIM mytype as type = classinstance.gettype
Dim myfieldInfo as fieldInfo = mytype.getfield ("_" & controlname, bindingflags.nonpublic_
OR bindingflags.instance or bindingflags.public or bindingflags.instance) 'add "_" this is a special
IF not myfieldinfo is nothing then
DIM Properties as PropertyDescriptorCollection = typeDescriptor.getProperties (MyTYPE)
DIM MyProperty As PropertyDescriptor = Properties.Find (PropertyName, False) 'This is set to true if you don't have to write.
IF not myproperty is nothing then
DIM CTR As Object
CTR = myfieldinfo.getValue (classinstance) 'acquired an example
Try
MyProperty.SetValue (CTR, VALUE) Result = CTR
Catch exception
MSGBOX (ex.Message)
END TRY
END IF
END IF
Return RESULT
END FUNCTION
'transfer
'The following implementation label1.text = textbox1.text, label2.text = TextBox2
Private sub button1_click (byvale as system.object, byval e as system.eventargs) Handles Button1.click
DIM I as integer
For i = 1 to 2
Me.SetValueControlProperty (ME, "Label" & i.tostring, "text", getValueControlProperty (ME, "TextBox" & I.toString, "Text"))
Next i
End Sub