WEB开发网
开发学院操作系统windows 2008 Windows桌面应用程序的多线程启动屏幕的设计技巧 阅读

Windows桌面应用程序的多线程启动屏幕的设计技巧

 2009-10-24 00:00:00 来源:WEB开发网   
核心提示: 双击“解决方案资源管理器”中项目节点下的“Properties”节点,在打开的项目属性卡片中设置程序的启动对象为Program类,Windows桌面应用程序的多线程启动屏幕的设计技巧(3),这将确保程序从Main()函数开始执行,下面向项目中添加一

双击“解决方案资源管理器”中项目节点下的“Properties”节点,在打开的项目属性卡片中设置程序的启动对象为Program类,这将确保程序从Main()函数开始执行。

下面向项目中添加一个将作为启动屏幕的窗体,可以根据你的美术天份自行设计,在本示例中,我就放了一个背景图片,一个TextBlock用于显示文字信息,一个ProgressBar用于显示工作进度。

很重要的,由于启动屏幕的窗体需要被主线程访问,因此,需要给其添加一个公有的方法用于显示外部传过来的信息

        public void ShowProgress(int Value)
        {
            pgbProcess.Value = Value;
            tbInfo.Text ="已完成"+ Value.ToString() + "%";
        }

所有的关键工作由运行于主线程中的Main()函数完成。

        [STAThread]
        static void Main()
        {
            //在一个独立UI线程中显示启动屏幕
            Thread th = new Thread(ShowSplashScreenThenMainWindow);
            th.SetApartmentState(ApartmentState.STA);
            th.Start();
            //启动初始化过程
            SystemInit();
        } 

注意需要设置线程模式为STA,这是为了与Windows Form相兼容而一直沿用下来的。

上述代码中的线程函数ShowSplashScreenThenMainWindow()负责创建启动屏幕和显示主窗体:

上一页  1 2 3 4  下一页

Tags:Windows 桌面 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接