Does the OOP in VB.Net differ from other OOP languages? It seems the encapsulation rules placed on vb.net are more stringent than other languages. In delphi, I can access the base application "form class" from any class just by referencing the class itself and anything public within it. Seems that no matter what I do in VB, accessing controls on a form from a Class is nearly impossible without using an event.

Can anyone give me a simple example of how to say Update the caption on a label in Form1 from Class1 "without" the use of a event?

I was reading through the forums for ways to do this and I read that you should just add a public property to the Form1 class so I tried that but it doesn't work. All your Public methods and propertys aren't accessable by just trying Form1.MyMethod like it should be..