private delegate void InvokeHandler();
this.Invoke(new InvokeHandler(delegate()
{
Waiting();
}));
public void Waiting()
{
frmWaiting waitingBox = new frmWaiting(bw_DoWork, "数据获取中,请等待!");
waitingBox.ShowDialog(this);
this.tslabStatus.Text = "数据加载完成";
}
private void toolStripButton7_Click(object sender, EventArgs e)
{
this.tslabStatus.Text = "";
//using (BackgroundWorker bw = new BackgroundWorker())
//{
// bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);
// bw.DoWork += new DoWorkEventHandler(bw_DoWork);
// bw.RunWorkerAsync("数据加载");
//}
//_Method+=new EventHandler<EventArgs>();
//bw_DoWork;
//frmWaiting waitingBox = new frmWaiting(bw_DoWork, "数据获取中,请等待!");
//waitingBox.ShowDialog(this);
//this.tslabStatus.Text = "耗时:" + (waitingBox.getRes() / 2) + " s";
this.Invoke(new InvokeHandler(delegate()
{
Waiting();
}));
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace ModuleParse
{
public partial class frmWaiting : Form
{
public int i = 0;
public frmWaiting(EventHandler<EventArgs> Method, string msg)
{
InitializeComponent();
if (!string.IsNullOrEmpty(msg))
lblTip.Text = msg;
_Method = Method;
}
private EventHandler<EventArgs> _Method;
private IAsyncResult asyncResult;
private void timer1_Tick(object sender, EventArgs e)
{
try
{
i++;
if (asyncResult.IsCompleted)
{
this.Dispose();
this.Close();
}
}
catch (Exception ex)
{
this.Close();
}
}
//public void WriteLog(string file, string json)
//{
// try
// {
// string content = (File.Exists(file) ? File.ReadAllText(file) : "");
// File.WriteAllText(file, content+json, Encoding.UTF8);
// }
// catch (Exception)
// {
// }
//}
public int getRes()
{
return i;
}
/// <summary>
/// 窗体第一次加载事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FrmWaitingBox_Shown(object sender, EventArgs e)
{
asyncResult = _Method.BeginInvoke(null, null, null,null);
}
}
}