Actually it has for a long time been considered bad practice to be able to reach the properties and method of controls from an other form.
A control should always be considered to be private.
In VB.Net this has been enforced so all controls are private to the form that host them.
So if you need to pass values between forms you should write your own wrapper property procedures.

For example: You have a TextBox on Form1 and you need to get the value of that textbox in Form2.
Then you could add the following to Form1:

visual basic code:

Public Property TextBoxContent() As String
Get
TextBoxContent = TextBox1.Text
End Get
Set(ByVal Value As String)
TextBox1.Text = Value
End Set
End Property
Since this property is Public it can be reached from Form2

visual basic code:

MsgBox Form1.TextBoxContent
Best regards
I've tried this and it did not work for me.

An unhandled exception of type 'System.NullReferenceException' occurred in 6CUL1763.exe

Additional information: Object reference not set to an instance of an object.

is the error that I got. otherwise the only thing that I changed was the property name.