[*]
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