C# form open and close problem?

  • Context: C# 
  • Thread starter Thread starter rollcast
  • Start date Start date
  • Tags Tags
    Form
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 replies · 6K views
rollcast
Messages
403
Reaction score
0
I'm trying to make a form, form1, appear when the program is started, stay on screen for 3 seconds and then close. Form2 should then open after this.

I tried various ways of doing it but I can't get it to work as I want it to do so. There are no bugs in the code so its purely a coding error.

Code for form1

Code:
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            waitandopen();
        }

        private void waitandopen()
        {
            System.Threading.Thread.Sleep(3000);

            Form form2 = new Form2();
            form2.Show();
        }
    }
}

Code for form 2

Code:
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            closeform1();
        }

        private void closeform1()
        {
            Form form1 = new Form1();
            form1.Close();
        }
    }
}
 
on Phys.org
Well, for one, in Form2 you are creating a new instance of Form1 and then closing it, instead of the instance you already have. You can have Form1 close itself, or have Form2 open it.

But frankly, it looks like you are trying to build a splash screen - maybe that will give you a handle to search for more information.