I have a base form which I use for the navigation bar, status strip and for showing some information about the current situation. I chose inheritance for the other form because thought that would be the best and easiest way to keep the navigators the same... I will propably make very many forms and also make changes to the navigation bar along the way, so this way the changes would always apply to all forms and their navigators...
Tell me more about your navigation bar. Do you have on single bar that you want to be displayed across all forms, or do you have multiple forms that have their own copy of your nav bar?
Also, have on considered going MDI with your "main" form owning the menu and then docking everything else inside the main form? It might make your life easier.
I don't know exactly what you're doing here, but I can almost guarantee that inheritance isn't going to be the answer. When you inherit from your base form, you're inheriting the type definition of that form, not a reference to an instance of the form. When you call MyBase.SomeMethod(), you're calling a method on your INHERITED form. Again, inheritance does not mean you get to go talk to another form. It means you have identical copies of the methods/properties/fields/etc as whatever you inherited from.
I have a single bar that I want to be displayed for all Forms. (This is why I thought it would be a good idea to use it from my Base Form...)
Actually I tried the MDI very briefly... I will get back to it if that is the more proper way to make my program.
...I actually managed to do what I wanted. I made a Public Sub on my Base Form and in that sub wrote a code that writes the text for that Label. So, if I want to update the information I just call for that Public Sub from any other Form and voilá.
Anyway, this seemed like a bit of a strech, but I got it to work. I will be looking into the MDI and child form -stuff later on. It may be a lot easier for this.
Yup, I think MDI would make your life easier. Otherwise you might explore improving on your current approach and creating a static/singleton menu controller that all of your forms can call. This controller can contain all the logic necessary to decide what physical bar needs to be updated. It is generally better to loosely couple your forms unless they ABSOLUTELY MUST know about each other.