C#,winform,怎样在一个页面显示前,首先先显示个等待提示?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#,winform,怎样在一个页面显示前,首先先显示个等待提示?相关的知识,希望对你有一定的参考价值。

小弟用C#写了个程序,winform,程序一起动,首先判断当天是否备份过数据库,如果没有备份,就执行备份,备份完后再显示登陆页面,现在的问题是,备份时间稍长,用户会以为死机,所以请问高手们,怎样在登陆页面显示之前,显示给用户一个等待提示?????先50分送上.小弟还有分,可解决问题后,继续送,多谢了!!
知道的百度Hi联系 石一刀007 谢谢了。

简单的放上一张等待的GIF图片,然后提示等待,在执行备份前显示,备份好后影藏就好了

参考技术A 先在Main方法里启动一个模式窗体用于显示进度条 把备份数据库的操作放到这个窗体上 记得开个线程来备份 这个窗体上放一张动态的图片就可以了 备份完以后模式窗体为OK 启动主窗体 参考技术B 谢谢,偶自己搞定了,
1.在预备页面里显示进度条,用timer控制进度,如果进度条进度到最大,在从0开始.
在开个线程,功能是备份数据库,在备份数据库的方法里判断如果备份完了,开个线程显示登陆页面.
ok了,谢谢 rockeylau本回答被提问者采纳
参考技术C 针对你的情况,我已经写了一个完整的程序,为了便于理解使用的是控制台程序,不过原理是一模一样的,只要改一下显示的方式,已经经过测试。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

using System.Threading;

namespace Test

class Program

//标识备份是否完成
public static bool isComplete = false;

static void Main(string[] args)

//先备份数据库并显示等待信息
ShowWaitingInfo();
//开始运行主线程
//注意主线程与备份线程是并行的,因此主线程应该读取备份标识来判断是否开始运行
while (true)

if (!isComplete)

//未完成,等待一秒后继续判断知道完成
Thread.Sleep(1000);

else

break;//跳出循环


Console.WriteLine("主线程运行中...");
Console.ReadLine();


//显示等待信息
private static void ShowWaitingInfo()

Thread backup = new Thread(BackupDatabase);
backup.Start();


//备份数据库
public static void BackupDatabase()

isComplete = false;
//这里模拟备份需要5秒
Console.WriteLine("正在备份数据库,请稍后...");
Thread.Sleep(5000);
Console.WriteLine("备份完成!");
isComplete = true;


参考技术D 针对你的情况,我已经写了一个完整的程序,为了便于理解使用的是控制台程序,不过原理是一模一样的,只要改一下显示的方式,已经经过测试。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

using System.Threading;

namespace Test

class Program

//标识备份是否完成
public static bool isComplete = false;

static void Main(string[] args)

//先备份数据库并显示等待信息
ShowWaitingInfo();
//开始运行主线程
//注意主线程与备份线程是并行的,因此主线程应该读取备份标识来判断是否开始运行
while (true)

if (!isComplete)

//未完成,等待一秒后继续判断知道完成
Thread.Sleep(1000);

else

break;//跳出循环


Console.WriteLine("主线程运行中...");
Console.ReadLine();


//显示等待信息
private static void ShowWaitingInfo()

Thread backup = new Thread(BackupDatabase);
backup.Start();


//备份数据库
public static void BackupDatabase()

isComplete = false;
//这里模拟备份需要5秒
Console.WriteLine("正在备份数据库,请稍后...");
Thread.Sleep(5000);
Console.WriteLine("备份完成!");
isComplete = true;


以上是关于C#,winform,怎样在一个页面显示前,首先先显示个等待提示?的主要内容,如果未能解决你的问题,请参考以下文章

c#winform高手来!!怎样让winform 通过命令行运行且不弹出form窗口

C#winform怎样等所有控件加载完再显示窗体?C#透明窗体显示时闪现黑块怎么解决?

C#WinForm中如何修改窗体显示的位置?

C#winform怎样等所有控件加载完再显示窗体?C#透明窗体显示时闪现黑块怎么解决?

C#WinForm怎样显示Excel?

在c#winform中怎样获取checklistbox选中的值