EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

在应用程序中管理初始表单

本文介绍如何启用特定的启动表单禁用内置的启动表单显示特定任务的启动表单

启用特定的启动表格

在所有新的XAF WinForms应用程序中,解决方案向导都会初始化一个DXSplashScreen实例,该实例启用一个Splash Screen和一个Overlay Form。

您可以使用其他DXSplashScreen构造函数来启用初始窗体的不同组合。

访问WinForms应用程序项目中的WinApplication.csWinApplication.vb)文件并修改默认代码。例如,您可以使用默认的“等待表单”,上载图像并创建自定义“启动画面”。使用DXSplashScreen(Type,Image,Type,DefaultOverlayFormOptions)构造函数来启用所有四个初始表单。

namespace MySolution.Win {
    public partial class MySolutionWindowsFormsApplication : WinApplication {
        // ...
        private void InitializeDefaults() {  
            // ...
            SplashScreen = new DXSplashScreen(typeof(MyCustomSplashScreen), typeof(WaitForm), mySvgImage, 
                new DefaultOverlayFormOptions());
            ExecuteStartupLogicBeforeClosingLogonWindow = true;
        }
        // ...
    }
}

禁用所有内置的启动表格

要禁用应用程序中的所有启动窗体,请访问WinForms Application项目中的WinApplication.csWinApplication.vb)文件,并将SplashScreen属性设置为null:

namespace MySolution.Win {
    public partial class MySolutionWindowsFormsApplication : WinApplication {
        // ...
        private void InitializeDefaults() {  
            // ...
            SplashScreen = null;
            ExecuteStartupLogicBeforeClosingLogonWindow = true;
        }
        // ...
    }
}

显示特定任务的启动表单

XAF在默认情况下显示启动表单。您可以调用默认表单或自定义表单来指示特定操作的进度,例如在应用程序执行启动或检索数据时。

使用以下方法来启动和关闭初始窗体:

方法 描述
WinApplication.StartSplash 显示 启动屏幕等待表格启动图像
WinApplication.StopSplash 停止启动屏幕,等待表单或启动图像。
WinApplication.StartOverlayForm 显示指定控件上的覆盖图
WinApplication.StopOverlayForm 停止具有特定句柄的“覆盖表格”。

如果您希望它能运行很长时间,请在操作前调用适当的Start方法。当用户等待操作完成时,该方法将在运行时显示启动表单。若要在操作结束后关闭窗体,请调用适当的Stop方法。

例如,您可以在动作开始操作时显示启动画面:

private void StartLongOperationAction_Execute(object sender, SimpleActionExecuteEventArgs e) {
    ((WinApplication)Application).StartSplash(SplashType.SplashScreen);
    //Perform an operation that runs long.
    ((WinApplication)Application).StopSplash(SplashType.SplashScreen);
} 

以下代码演示了如何启动和关闭等待表单和启动画面:

((WinApplication)Application).Start(SplashType.WaitForm);
// ...
((WinApplication)Application).Stop(SplashType.WaitForm);
// ...
((WinApplication)Application).Start(SplashType.Image);
// ...
((WinApplication)Application).Stop(SplashType.Image);

要显示覆盖表单,请使用覆盖表单句柄:

IOverlaySplashScreenHandle overlayFormHandle = ((WinApplication)Application).StartOverlayForm(requiredControl);
// ...
((WinApplication)Application).StopOverlayForm(overlayFormHandle);

转载保留此链接,注明出处