 <p>Based on your question, I don't think inheritance is the best tool for the job. I say its not the best choice because you are not dealing with an "is a" relationship. I think you should consider using Events and Delegates to handle the communication between forms and subforms. The following MSDN article provides a good overview of <a href="http://msdn.microsoft.com/en-us/library/edzehd2t%28v=vs.110%29.aspx" rel="nofollow">Handling and Raising Events</a>. You also may want to refresh yourself on the .NET <a href="http://msdn.microsoft.com/en-us/library/vstudio/system.componentmodel.inotifypropertychanged%28v=vs.110%29" rel="nofollow">INotifyPropertyChanged Interface</a> if you using data binding in the subforms. </p>