Il tuo form1 dovrà essere il form principale dell'applicazione.
da li dichiari il form2, lo apri, lo puoi anche posizionare dove vuoi, e successivamente nascondi il form1.
private void Form1_Load(object sender, EventArgs e)
{
Form2 logo = new Form2();// dichiaro il form chiamandolo Logo
logo.ShowDialog();// apro il form logo
logo.Location = new Point(100, 200);// lo posiziono dove voglio
this.Visible = false;// nascondo il form1
}
adesso nel form2, devi mettere una istruzione che lo chiuda dopo un tempo x, per fare questo invece di bloccare il thread, puoi usare
una apposita routine trovate in rete.
private void Form2_Shown(object sender, EventArgs e)
{
Wait(5); //richiamo il metodo di attesa passandogli il valore di 5 secondi
this.Close(); // chiudo il form2
}
private void Wait(int sec) // metodo che rimane in esecuzione fino a quando non sono passati i sec
{
if (sec < 1) return;
DateTime _desired = DateTime.Now.AddSeconds(sec);
while (DateTime.Now < _desired)
{
System.Windows.Forms.Application.DoEvents();
}
}