コード例 #1
0
ファイル: FormLoader.cs プロジェクト: fwka1605/next
        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);
        }