我没什么分了,呵呵。 
越简单越好,拿过来能跑就行。

解决方案 »

  1.   


    /// <summary>
        /// 主窗口
        /// </summary>
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {
                Form1 f = new Form1();
                new Thread(new ThreadStart(delegate()
                {
                    f.InitializeData();
                })).Start();
                f.Progress += delegate(string text, int index)
                {
                    this.Invoke((MethodInvoker)delegate()
                    {
                        this.Text = text;
                        progressBar1.Value = index;
                        if(index==100)
                        {
                            f.Show();
                        }
                    });
                };
                
            }
        }/// <summary>
        /// 这是启动的子窗口
        /// </summary>
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        public delegate void ProgressEventHandler(string Text, int value);        public event ProgressEventHandler Progress;
            /// <summary>
            /// 初始化数据
            /// </summary>
            public void InitializeData()
            {
                for (int i = 1; i <= 100; i++)
                {
                    if (null != Progress)
                    {
                        Progress(string.Format("正在初始化数据,已完成{0}%,", i), i);
                        System.Threading.Thread.Sleep(100);
                    }
                }
            }
        }
      

  2.   

    progressBar1,button1两个控件自己拖去