So I'm trying to teach myself object oriented programming using VB.net, and Although I have some basic experience with it, I feel that I'm doing something terribly wrong.
There are two visible screens (Forms) to my application, a "select your difficulty" screen that I'll refer to as screen1, and a "game" screen that I will refer to as screen2.
I create a Main() class that runs when the application has loaded
From within Main() I generate screen1 and screen2 (both Forms).
Screen1 holds two buttons. When clicked, they will hide the current screen, display screen2, and begin the game with a set difficulty based on what button was chosen.
After jumping into the Form class, I can no longer reference Main(), where I would be able to close one form and open another with ease.
So the question is this. With regards to correct object oriented design. What is the most widely accepted way to change screens and start the game running?
I don't require code snippets or anything, I just need a basic explanation of how things should be done.