C#中的“等待窗体”对话框
Posted win32pro
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中的“等待窗体”对话框相关的知识,希望对你有一定的参考价值。
这篇文章向您展示了如何在c#.net Windows窗体应用程序中创建一个等待窗体对话框。
创建一个新表单,然后输入您的表单名称为frmWaitForm。接下来,将Label,Progress Bar控件从Visual Studio工具箱中拖到winform中,然后可以如下所示布置ui设计。
我们将使用此表单显示c#进度栏,请等待。
接下来,创建一个名为Form1的新表单,该表单是主表单。要播放演示,可以将Visual Studio工具箱中的ListView和Button控件拖到主窗体中,然后如下图所示布置主窗体。
创建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#中的“等待窗体”对话框的主要内容,如果未能解决你的问题,请参考以下文章