在许多秒后自动隐藏C#中的一个表单并显示另一个表单

时间:2012-08-02 20:09:09

标签: c# winforms c#-4.0

我需要在很多秒后隐藏当前表单,然后显示任何表单

我正在编写此代码,但它不起作用。

namespace tempprj
{
    public partial class ProfileFrm : Telerik.WinControls.UI.RadForm
    {
       public ProfileFrm()
       {
           InitializeComponent();
       }

       private void ProfileFrm_Load(object sender, EventArgs e)
       {
            Frm2 child = new Frm2();
            Thread.Sleep(3000);
            this.Hide();
            child.ShowDialog();
       }
   }

}

2 个答案:

答案 0 :(得分:2)

Thread.Sleep(3000);

将阻止你的项目做任何事情3秒钟(不计算其他线程)并冻结UI。我建议使用标准的.NET计时器。

http://msdn.microsoft.com/en-us/library/system.windows.forms.timer.aspx

答案 1 :(得分:0)

这是我的问题的解决方案:

    private void ProfileFrm_Load(object sender, EventArgs e)
    {
        timer1.Tick += new EventHandler(timer1_Tick);

        timer1.Enabled = true;
        timer1.Interval = 4000;
        timer1.Start();

    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        timer1.Stop();

        this.Hide();
        Frm2 f = new Frm2();

        f.ShowDialog();
    }