Ich bin neu in C# und ich verwende Windows-Formulare.Wie kann ich nach dem Begrüßungsbildschirm in C# ein anderes Formular öffnen?
Ich habe 3 Forms
:
SpalshScreenForm
mitprogressBar
undTimer
MainForm
ResultForm
Was ich versuche zu tun ist: Ich möchte if
Anweisung in SplashScrreenForm
schreiben, die überprüft, ob Example.txt
Datei existiert oder nicht, während progressBar
geladen wird, und wenn die Datei existiert, möchte ich MainForm
öffnen und wenn es nicht existiert will ich Öffnen Sie ResultForm
.
Wie im Code gezeigt, starte ich das Programm SpalshScreenForm
öffnet und danach schließt es und dann MainForm
öffnet. Das Problem ist, dass ResultForm
nie geöffnet wird und es scheint, dass die if
-Anweisung nicht ausgeführt wird.
Meine Frage ist: Wie kann ich SplashScreenForm
öffnen und überprüfen, ob die Dateien vorhanden ist, wenn die Datei vorhanden Ich möchte MainForm
öffnen, und wenn es nicht ich will nicht existiert ResultForm
öffnen. Ich freue mich auf neue Vorschläge/Ideen zu hören. Bitte hilf mir, dir zu danken.
Program.cs Code:
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
Main Code:
public MainForm()
{
Thread t = new Thread(new ThreadStart(Splash_Screen));
t.Start();
Thread.Sleep(3000);
InitializeComponent();
t.Abort();
}
public void Splash_Screen()
{
Application.Run(new SpalshScreenForm());
}
SplashScreenForm Code:
public SplashScreenForm()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.Increment(1);
if(progressBar1.Value==100)
{
if (!File.Exists(@"E:\Example.txt"))
{
ResultForm _ResultForm= new _ResultForm();
_ResultForm.ShowDialog();
}
timer1.Stop();
}
}
@ Yurrit Avonds. Wie wäre es mit dem Thread t = neuer Thread (neuer ThreadStart (Splash_Screen)); im MainForm? Muss ich es löschen? – Kate
Ja, dies würde nur den Startbildschirm wieder anzeigen, wenn Sie das Hauptformular starten. Beachten Sie, dass der Begrüßungsbildschirm nicht mehr parallel mit einem anderen Formular ausgeführt wird. Solange das Hauptformular oder das Ergebnisformular nicht zu lange zum Laden braucht, ist dies kein Problem. –