public Form Create(string className) { const string DllName = "Rac.VOne.Client.Screen.dll"; var form = new BasicForm(); var baseContext = form as IFunctionKeys; var screen = GetScreenControl(DllName, className); var functionkeysSetter = screen as IFunctionKeysSetter; var applicationSetter = screen as IApplicationSetter; var closingMonthSetter = screen as IClosingMonthSetter; var statusMessageContext = screen as IMessageSetter; var colorContext = screen as IScreenColors; var screenNameContext = screen as IScreenNameSetter; form.SetHeaderContents(this); baseContext.SetCompoent(functionkeysSetter); functionkeysSetter.SetBaseContext(baseContext); applicationSetter.SetApplicationContext(this as IApplication); statusMessageContext.SetStatusMessageContext(form as IMessage); screenNameContext.SetScreenNameContext(form as IScreenName); screen.Dock = DockStyle.Fill; screen.Visible = true; form.pnlMain.Controls.Add(screen); closingMonthSetter?.SetClosing(); if (Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["IsCloudEdition"])) { form.MinimizeBox = false; } return(form); }