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

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

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

温馨提示:内容为网友见解,仅供参考
第1个回答  2009-04-30
先在Main方法里启动一个模式窗体用于显示进度条 把备份数据库的操作放到这个窗体上 记得开个线程来备份 这个窗体上放一张动态的图片就可以了 备份完以后模式窗体为OK 启动主窗体
第2个回答  2009-04-30
谢谢,偶自己搞定了,
1.在预备页面里显示进度条,用timer控制进度,如果进度条进度到最大,在从0开始.
在开个线程,功能是备份数据库,在备份数据库的方法里判断如果备份完了,开个线程显示登陆页面.
ok了,谢谢 rockeylau本回答被提问者采纳
第3个回答  2009-04-30
针对你的情况,我已经写了一个完整的程序,为了便于理解使用的是控制台程序,不过原理是一模一样的,只要改一下显示的方式,已经经过测试。
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;
}
}
}
第4个回答  2015-09-29
针对你的情况,我已经写了一个完整的程序,为了便于理解使用的是控制台程序,不过原理是一模一样的,只要改一下显示的方式,已经经过测试。
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,怎样在一个页面显示前,首先先显示个等待提示?
简单的放上一张等待的GIF图片,然后提示等待,在执行备份前显示,备份好后影藏就好了

C# winform 怎么让窗体蹦到前面
this.TopMost=false;的话,在下一次操作窗体之前,窗体都是最前的。

c# ,winform 我想在窗体加载前提示“正在加载”,窗体加载完成"正在加载...
Frm_flash f = new Frm_flash("正在检查更新程序请等待!!!");f.Show();Application.DoEvents();obj_BL_MainForm.ValidateSystem();\/\/做更新操作 f.Close();参考资料:不多说!你自已理解意思吧

C#WinForm实现Loading等待界面
项目启动的时候,加载进度条,界面UI加载完毕,进度条消失。文末有资源,可下载。新建一个项目,添加一个窗体。窗体中添加一个pictureBox,添加Loading图片。设置窗体属性 StartPosition :CenterScreen在屏幕中心显示 TopMost:True置顶显示 ShowInTaskbar:False不在任务栏显示 FormBorderStyle:None不显示窗体边框和...

c# Winform 将Form的FormBorderStyle设置为None,但是创建一个窗体显示时...
(1)你是不是在设计视图中修改窗体的FormBorderStyle为None的。如果是的话,那就不会出现标题栏了。下面是我根据你写的设置窗体的FormBorderStyle为None后的效果图。(2)如果你是在代码中控制的话,注意代码的顺序问题,楼上有提出 (3)你补充的说你设计了两个窗体。一个显示,一个隐藏,在切换...

C#WinForm的窗体等待效果
你先把form2写成不可见,然后单击事件后执行 某个对象的等待方法 把这个对象传递给form2,在Create事件里面执行这个传递到form2的某个方法终止等待,然后在show 第二个窗体为可见 这样应该可以了。 我的想法是这样,但是不知道实际会碰到什么问题哈。

C#WinForm窗体显示最前的问题?
点打印按钮的时候,把原来那个窗口的Top Most设置为FLASE。关闭PrintPerview界面时在设为true试试看

c# winform程序 不管有几个窗口,每次新打开的总显示在最前面,怎么...
只要窗体.Activate()就行了

c#winform查询时怎么弹出请等待的图片
点击查询按钮的时候就显示这个图片,拿到查询结果的时候就隐藏图片就可以了 button_click(s,e){ image.Visible =true; if(result!=null) { image.Visible=false; }else { 提示没有查询到值 }}

关于c# winform 编程的,怎么弄提示类似“加载中”的小窗口
private void button1_Click(object sender, EventArgs e){ if (_childForm != null) \/\/防止重复显示(防止意外的意外,可以省略)return;this.Enabled = false;\/\/禁用窗体,防止意外 _childForm = new Form2();\/\/Form2 是需要显示的对话框,可以在上面写你提示的文字信息等 \/\/去除标题栏(防止...

相似回答