Schalten von Formularen mit WinForms - kurz vor dem Formular vor dem nächsten Formular angezeigt
Posted: 17 Feb 2025, 06:00
Ich arbeite an einer C# WinForms -Anwendung auf .NET 8.0 und muss mit Formularen mit Formularen vorhanden sind.
[*] - Anfangsbildschirm (Hauptformular)
[*] - Passwortbildschirm (modales Dialogfeld)
[*], die Form2 für den Kennworteintrag
[*] Nach erfolgreicher Authentifizierung sollte Form3 geöffnet werden
[*] sollte nach Form2 nicht erneut angezeigt werden
[/list]
Tatsächliches Verhalten:
Code in Form2 (Kennwortbildschirm):
Was ich ausprobiert habe
[*]
Code: Select all
Form1
[*]
Code: Select all
Form2
[*]
Code: Select all
Form3< /code> - endgültiges Zielformular < /li>
< /ul>
Erwarteter Fluss: < /p>
[list]
Der Benutzer Klickt auf eine Schaltfläche in Form1
[*] Nach erfolgreicher Authentifizierung sollte Form3 geöffnet werden
[*]
Code: Select all
Form1
[/list]
Tatsächliches Verhalten:
- öffnet Form2 (Kennwortbildschirm) erfolgreich
Code: Select all
Form1
- Der Benutzer gibt das Kennwort ein und gibt
- vor, bevor Form3 angezeigt wird Form1 flackern kurz und erscheint für eine Sekunde
- Danach wird Form3 richtig geladen
- Dieser kurze Flicker von Form11 ist unerwartet und verursacht eine schlechte Benutzererfahrung
Code: Select all
private void btnOpenForm2_Click(object sender, EventArgs e)
{
Form2 passwordForm = new Form2();
if (passwordForm.ShowDialog() == DialogResult.OK) // Blocking call
{
Form3 finalForm = new Form3();
finalForm.Show();
this.Hide(); // Hide Form1
}
}
Code: Select all
private void btnSubmit_Click(object sender, EventArgs e)
{
// Assume authentication is successful
this.DialogResult = DialogResult.OK;this.Close();
}
- Versteckte Form1 Vor dem Öffnen von Form2
verwendet this.hide (); vor showdialog () . >.
Einstellen von TOPOST = True für Form3 - keine Verbesserung. Laden - Einstellen von Form2 Besitzer