How to access the property of a child usercontrol form in c# or


I have a windows form with a panel wich include a usercontrol form.
Now i have to run some code on the main (parent) form, that checks the value of a property on the child form(usercontrol in panel).

I have created a public readonly property on the usercontrol, but when i try to read this i can't get the value.

I also get the error message "Conversion from string "" to type 'Integer' is not valid." on line  If uc.rl1 = True.

Property on usercontrol:
 Public ReadOnly Property rl1() As Boolean
            Dim r As Integer
            r = CInt(Me.txtRowIndex.Text)
            If r > -1 Then
                Return DGTimeTable.Item(4, r).Value
                Return False
            End If
        End Get
      End Property

Open in new window

Code on mainform that should read this property:
 Dim buffer As Byte()
            ReDim buffer(2)
            Dim uc As ucTestform = New ucTestform
            uc = Me.ucPanel.Controls.Find("ucTestform", False)(0)
            If uc.rl1 = True Then buffer(0) = buffer(0) Or 128 Else buffer(0) = buffer(0) And 127

Open in new window

Thanks in advance.

Edward van NijmweegenICT employeeAsked:
Who is Participating?
Fernando SotoConnect With a Mentor RetiredCommented:
Hi Edward;

I suspect that the value being returned by DGTimeTable.Item(4, r).Value in the property rl1 is a string. What are the possible values that it can return? If the values are string like "True", "true", "False", or "false" then change that line to this.

Return Boolean.Parse(DGTimeTable.Item(4, r).Value)

If other values are being returned please post them here.
Valliappan ANConnect With a Mentor Senior Tech ConsultantCommented:
The error, could be from here:

r = CInt(Me.txtRowIndex.Text)

You may check if its a valid integer, before conversion.  You may try:

Convert.ToInt32(Me.txtRowIndex.Text) or, better, option would be:


 Hope  that helps.
Edward van NijmweegenICT employeeAuthor Commented:
I was stupid. The rowindex was empty, so it couldn't convert it to an integer. And the combinatin with boolean.parcse etc...  did the trick.

Thanks a lot both of you.


All Courses

From novice to tech pro — start learning today.