当前位置:编程学习 > C#/ASP.NET >>

等待窗体

主窗体form1 ,等待窗体 form2.
form1按纽 button1.
buttun1单击事件如下.
1显示form2 
2大量的计算
3计算结束 自动关闭form2 

请问上面的过程应该如何实现.
我的程序在显示form2 时,form2中写有"计算中"的label 无法显示. --------------------编程问答-------------------- 猜测问题在于你的计算线程和UI线程是一个吧,建议你的计算过程单起一个线程试试,form2应该就可以正常显示了吧 --------------------编程问答-------------------- public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }

        private void btn_WaitForm_Click(object sender, EventArgs e)
        {
            WaitForm frmWait = new WaitForm();
            frmWait.Show();
        }
    }

public delegate void InvokeDelegate();

    public partial class WaitForm : Form
    {
        protected System.Timers.Timer timer;
        protected DateTime start;
        protected int counter;

        public WaitForm()
        {
            InitializeComponent();

            timer = new System.Timers.Timer();
            timer.Interval = 1000;
            timer.Enabled = true;
            timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
            start = DateTime.Now;
        }

        private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            InvokeDelegate update = delegate()
            {
                counter++;
                if (((TimeSpan)(DateTime.Now - start)).Seconds == 10) this.Close();
                else
                {
                    if (counter > 4) counter = 1;
                    this.lbl_InfoValue.Text = "I'm doing the Calculation, Waiting" + "".PadLeft(counter, '.');
                }
            };

            if (!this.IsDisposed)
                this.Invoke(update);
        }
    } --------------------编程问答-------------------- 不好意思,我是新手楼上的例子我没调试好,提示无效的delegate().两外一楼的朋友可否举个具体了例子如何用线程实现我的功能?
谢谢! --------------------编程问答-------------------- 完美等待窗体

参考我下载空间,完美的等待窗体,一行代码搞定。。。。。。。。。。哈哈哈 
自我吹嘘一下,非常简单 


││博客空间:http://blog.csdn.net/lovingkiss
││资源下载:http://download.csdn.net/user/lovingkiss
││Email:loving-kiss@163.com [MSN也是这个]
││联系方式:Q66840199 项目、聊天、咨询、探讨、统统收费,呵呵......
╚---------------------------------------------------------------------------------------------------------ō*︻$▅▆▇◤  --------------------编程问答-------------------- 实际上,等待窗体制作的难度,在于:
1、如何使用ShowDialog()不影响主线程的动作;
2、如何随时切换主线程、进度线程的动作、进度;
3、如何用最少的线程和代码来实现它;
。。。。

所以这就是我开发这套组件的初衷。。。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,