Form soll sich im Konstruktor selbst beenden
-
Wie muß ich folgenden Code ändern, damit er richtig ist?
using System.Windows.Forms; static class Program { static void Main() { Application.Run(new Form1()); } } public partial class Form1 : Form { public Form1() { if (MessageBox.Show("Möchten Sie wirklich starten?", "Frage", MessageBoxButtons.YesNo)==DialogResult.No) this.Close(); } }
Wenn ich bei der Message-Box auf Nein klicke, wird in Zeile 7 eine System.ObjectDisposedException ausgelöst. Wie also kann ich die Anzeige des Dialogfelds innerhalb des Dialogfelds verhindern, ohne daß dabei das Objekt zerstört wird (was ja erst nach Application.Run passieren darf).
-
Ich würde an deiner Stelle dem Form das Ereignis "Load" hinzufügen.
Wenn du das gemacht hast und die Funktion mit deiner MessageBox füllst, funktioniert es einwandfrei.private void Form1_Load( object sender, EventArgs e ) { if( MessageBox.Show( "Möchten Sie wirklich starten?", "Frage", MessageBoxButtons.YesNo ) == DialogResult.No ) this.Close( ); }
Gruß,
Ellek
-
Vielen Dank.