Ich habe ein Problem damit, das übergeordnete Formular so lange geöffnet zu lassen, bis ich es nach der Verwendung von ShowDialog() schließe.Beibehalten des übergeordneten DialogButtons nach dem Schließen des untergeordneten DialogButtons
Ich habe versucht, dies zu tun, aber konnte nicht bekommen. Ich denke, es gibt etwas Einfaches, das ich vielleicht vermisst hätte. Kannst du mir bitte helfen, dies festzuhalten?
Das Problem ist, Ich habe Formular 1, auf Knopfdruck öffnet Form 2. Ich führe einige Validierungen in Form 2 durch und überprüfe die Validierungen. Wenn die Validierung nicht erfolgreich ist, öffne ich ein Dialogfeld, mit Wiederholen und Abbrechen. Wenn ich Retry drücken, sollte das Steuerelement zurück zum Formular 2 und Formular 2 sollte nicht geschlossen werden. Wenn Sie Abbrechen drücken, sollten sowohl das DialogBox-Formular als auch das Formular 2 geschlossen werden. Im Moment, egal was ich drücke, schließen sich beide Formulare.
Ich habe online gesucht und konnte keine Lösung finden. Ging durch diese Lösung, aber beide Formen schließen sich immer noch für mich. Why does closing a nested child dialog also close the parent dialog?
Mein Code: (Beispielbeispielszenario)
Form 1:
private void button1_Click(object sender, EventArgs e)
{
Form2 testForm = new Form2();
DialogResult dialogResult = new DialogResult();
dialogResult = testForm.ShowDialog(this);
if(dialogResult == DialogResult.OK)
{
//Do something
}
}
Form 2:
private void button1_Click(object sender, EventArgs e)
{
DialogResult validDataResult = MessageBox.Show("Invalid Data Entered. Please provide the correct data."
, "Data Management"
, MessageBoxButtons.RetryCancel);
if (validDataResult == DialogResult.Cancel)
{
this.Close();
}
}
Mit dem obigen Code ist es nicht reproduzierbar. Erben Sie Form2 von Form1 und schreiben Sie Ihre eigene virtuelle Close-Methode in Form1? – Dhananjay