InvokeHandler

   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);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是刘彦宏吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值