C#中的“等待窗体”对话框
2021-03-08 22:28
标签:scheduler rgs inf 控件 cti == 技术 ati list 这篇文章向您展示了如何在c#.net Windows窗体应用程序中创建一个等待窗体对话框。 我们将使用此表单显示c#进度栏,请等待。 接下来,创建一个名为Form1的新表单,该表单是主表单。要播放演示,可以将Visual Studio工具箱中的ListView和Button控件拖到主窗体中,然后如下图所示布置主窗体。
创建Worker属性以处理Windows窗体c#中的加载程序到 frmWaiForm。 该行动是委托类型,这是一样的Func键代表除了动作委托不返回值。换句话说,可以将Action委托与具有void返回类型的方法一起使用。 在frmWaitForm构造函数中添加worker参数,就可以使用以下c#代码来初始化Worker属性。 并且不要忘记重写OnLoad方法,该方法允许您在关闭表单时启动新线程。 最后,打开Form1,然后创建SaveData方法。这是一种模拟数据存储的方法,您可以使用Thread.Sleep方法来延迟循环 将按钮单击事件处理程序添加到“保存”按钮,使您可以在Windows窗体C#中打开加载程序。 通过c#示例项目,您可以学习如何创建c#进度对话框,然后用于创建c#加载屏幕或c#启动屏幕。 C#中的“等待窗体”对话框 标签:scheduler rgs inf 控件 cti == 技术 ati list 原文地址:https://www.cnblogs.com/win32pro/p/12767861.html
创建一个新表单,然后输入您的表单名称为frmWaitForm。接下来,将Label,Progress Bar控件从Visual Studio工具箱中拖到winform中,然后可以如下所示布置ui设计。public Action Worker { get; set; }
public frmWaitForm(Action worker)
{
InitializeComponent();
if (worker == null)
throw new ArgumentNullException();
Worker = worker;
}
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());
}
void SaveData()
{
//Add code to process your data
for (int i = 0; i 500; i++)
Thread.Sleep(10); //Simulator
}
private void button1_Click(object sender, EventArgs e)
{
//Open wait form dialog
using (frmWaitForm frm = new frmWaitForm(SaveData))
{
frm.ShowDialog(this);
}
}