这篇文章向您展示了如何在c#.net Windows窗体应用程序中创建一个等待窗体对话框。
创建一个新表单,然后输入您的表单名称为frmWaitForm。接下来,将Label,Progress Bar控件从Visual Studio工具箱中拖到winform中,然后可以如下所示布置ui设计。

我们将使用此表单显示c#进度栏,请等待。

接下来,创建一个名为Form1的新表单,该表单是主表单。要播放演示,可以将Visual Studio工具箱中的ListViewButton控件拖到主窗体中,然后如下图所示布置主窗体。

创建Worker属性以处理Windows窗体c#中的加载程序到  frmWaiForm。

public Action Worker { get; set; }

行动是委托类型,这是一样的Func键代表除了动作委托不返回值。换句话说,可以将Action委托与具有void返回类型的方法一起使用。

frmWaitForm构造函数中添加worker参数,就可以使用以下c#代码来初始化Worker属性。

public frmWaitForm(Action worker)
{
InitializeComponent();
if (worker == null)
throw new ArgumentNullException();
Worker = worker;
}

并且不要忘记重写OnLoad方法,该方法允许您在关闭表单时启动新线程。

protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
//Start new thread to run wait form dialog
Task.Factory.StartNew(Worker).ContinueWith(t => { this.Close(); }, TaskScheduler.FromCurrentSynchronizationContext());
}

最后,打开Form1,然后创建SaveData方法。这是一种模拟数据存储的方法,您可以使用Thread.Sleep方法来延迟循环

void SaveData()
{
//Add code to process your data
for (int i = 0; i <= 500; i++)
Thread.Sleep(10); //Simulator
}

将按钮单击事件处理程序添加到“保存”按钮,使您可以在Windows窗体C#中打开加载程序。

private void button1_Click(object sender, EventArgs e)
{
//Open wait form dialog
using (frmWaitForm frm = new frmWaitForm(SaveData))
{
frm.ShowDialog(this);
}
}

通过c#示例项目,您可以学习如何创建c#进度对话框,然后用于创建c#加载屏幕或c#启动屏幕。

C#中的“等待窗体”对话框的更多相关文章

  1. 【C#】分享带等待窗体的任务执行器一枚

    -------------201504161039更新------------- 更新内容: IWaitForm接口删除System.Windows.Forms.DialogResult Dialog ...

  2. 【代码笔记】iOS-在导航栏中显示等待对话框

    一,效果图. 二,代码. ViewController.m #import "ViewController.h" @interface ViewController () @end ...

  3. 测试脚本中的等待方法 alter对话框处理

    测试脚本中的等待方法 等待是为了使脚本执行更加稳定 1. 常用的休眠方式:time模块的sleep方法 2. selenium模块中的等待方法 等待查找5s 查找不到就报错 对登录测试py进行修改 a ...

  4. .net开发笔记(十八) winform中的等待框

    winform中很多任务是需要在后台线程(或类似)中完成的,也就是说,经常容易涉及到UI界面与后台工作线程之间的交互.比如UI界面控制后台工作的执行(启动.暂停.停止等),后台工作进度在UI界面上的显 ...

  5. Devexpress 等待窗体

    加载窗体以及等待窗体 程序加载时,需要等待加载完成后在显示 窗体显示顺序 1. 给用户看的等待窗体 2. 加载完成后的主窗体 代码如下: 1. 等待窗体代码 #region using using S ...

  6. 【C#】带等待窗体的BackgroundWorker

    ---------------201504170911更新--------------- 更新内容:删除bgwUI新增的Start方法,改为通过new修饰符+可选参数的方式同时覆盖基类(Backgro ...

  7. c# winForm 等待窗体的实现

    最近在做一个项目,需要用到等待窗体,在DevExpress下面有SplashScreen控件可以使用,同时也有ProgressIndicator控件能用,但是如果没有用Dev开发的话,我们就需要自定义 ...

  8. C#关于等待窗体(转)

    c#.net 中如果想在主窗口A里点击打开新窗口B(因为要数据库操作,Bload需一小段时间)之前弹出带有滚动条等待子窗口C来提示用户没有死机,应该怎么做?我用多线程打开了c窗口,但是问题:1.C窗口 ...

  9. 《MFC dialog中加入OpenGL窗体》

    <MFC dialog中加入OpenGL窗体> 最近学习了如何在MFC对话框程序中加入OpenGL窗体的方法,在这里将自己的实现过程归纳一下. 步骤零: 加入PictureControl控 ...

随机推荐

  1. 2019.06.28 MERGE INTO备忘

    --保存主表 MERGE INTO dbo.DeliveryReceiving AS t USING @ReceiveMainDt AS s ON t.Id=s.id WHEN MATCHED THE ...

  2. HDFS总结

    hadoop分布式文件存储系统,用来解决海量数据的存储问题 HDFS的组成------核心配置文件:hdfs-site.xml.core-site.xml NameNode:负责整个HDFS集群的管理 ...

  3. javaScript学习关于常用注册监听和对象的创建

    JS 中的自定义对象(扩展内容)                     Object 形式的自定义对象                       对象的定义:                    ...

  4. Spring学习02(DI依赖注入)

    5.依赖注入(Dependency Injection,DI) 5.1 概念 依赖 : 指Bean对象的创建依赖于容器 . Bean对象的依赖资源 . 注入 : 指Bean对象所依赖的资源 , 由容器 ...

  5. 阿里云NAS文件迁移项目实践

    阿里云文件存储NAS是阿里云推出的用于传统文件共享的,使用NFS协议挂载的共享文件夹. 产品背景 下图是NAS和阿里云另一明星产品OSS以及块存储EBS的区别 NAS核心优势:无需修改程序,挂载之后, ...

  6. DLL劫持漏洞

    写文章的契机还是看沙雕群友挖了十多个DLL劫持的漏洞交CNVD上去了... 就想起来搜集整理一下这部分 0x01 前言 DLL(Dynamic Link Library)文件为动态链接库文件,又称&q ...

  7. Pikachu-Over Permission模块

    一.概述 如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作. 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的. 一般越权漏洞容易出现在权限页 ...

  8. ad room 拷贝

    当一个电路图中有多个相同组件的时候,我哦们一般使用 room格式拷贝. 基本思路 1.方法一  电路图使用repeat 多通道设计 2.简易的赋值粘贴,事实证明简单有效. 3.在pcb中删除对应一个单 ...

  9. JVM学习笔记之class文件结构【七】

    一.概念 1.1 无符号数: 以 u1.u2.u3.u4.u8 代表 1 个字节,2 个字节.4 个字节.8 个字节的无符号数.无符号数可以描述数字,索引引用.数量值和按照 UTF-8 编码构成的字符 ...

  10. ☕【Java技术指南】「编译器专题」重塑认识Java编译器的执行过程(常量优化机制)!

    问题概括 静态常量可以再编译器确定字面量,但常量并不一定在编译期就确定了, 也可以在运行时确定,所以Java针对某些情况制定了常量优化机制. 常量优化机制 给一个变量赋值,如果等于号的右边是常量的表达 ...