public ExpenseLoggerFormBase() { // ExpenseLoggerQueries using for getting data. this.appQueries = new ExpenseLoggerQueries(); // ExpenseLoggerCommands: using for creating, updating and deleting data. this.appCommands = new ExpenseLoggerCommands(); // Build-in error provider which will be used for data validation. errorProvider = new ErrorProvider(); // This event is fired when form is loaded. this.Load += ExpenseLoggerFormBase_Load; }
/// <summary> /// This method aims to load and get some services available in ExpenseLoggerAppForm /// So the child forms can use the same services with its parents forms. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BaseUserControl_Load(object sender, EventArgs e) { // Access to parent form and store it to a variable which will be shared cross derived class ExpenseLoggerAppForm parentForm = this.Parent?.Parent as ExpenseLoggerAppForm; if (parentForm != null) { appQueries = parentForm.appQueries; appCommands = parentForm.appCommands; } else { appQueries = new ExpenseLoggerQueries(); appCommands = new ExpenseLoggerCommands(); } this.LoadFormData(); }