Mohsen
Mohsen

Reputation: 138

Automatically hide one form in C# after many second and show another form

I need to hide current form after many second and then show any form

I'm writing this code but it doesn't work.

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();
       }
   }

}

Upvotes: 0

Views: 3968

Answers (2)

Mohsen
Mohsen

Reputation: 138

This is a solution to my question:

    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();
    }

Upvotes: 0

Inisheer
Inisheer

Reputation: 20794

Thread.Sleep(3000);

is going to prevent your project from doing anything at all for 3 seconds (not counting other threads) and freeze the UI. I suggest using the standard .NET timer.

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

Upvotes: 2

Related Questions