This code is in Form2:

VB Code:
  1. Shared Sub Hello1()
  2.         MessageBox.Show("Hello1")
  3.     End Sub
  4.  
  5.     Sub Hello2()
  6.         MessageBox.Show("Hello2")
  7.     End Sub

This code is in Form1:

VB Code:
  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.         Form2.Hello1()
  3.     End Sub
  4.  
  5.     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  6.         Dim f As New Form2
  7.         f.Hello2()
  8.     End Sub

You can call a shared method without first creating an instance of Form2, but if the method is not shared, you need an instance first. If you tried to call Form2.Hello2(), you'd get an error that says reference to a non-shared method requires an object reference.

HTH,
Mike