Hallo habe in meinem Programm die folgenden 2 Codeabschitte...
private void button2_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("Wollen Sie das Programm wirklich beenden?", "Wirklich beenden?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
MessageBox.Show("Danke das du mit meinem Programm gearbeitest hast ;-)", "Danksagung", MessageBoxButtons.OK, MessageBoxIcon.Information);
Application.Exit();
}
und
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result = MessageBox.Show("Wollen Sie das Programm wirklich beenden?", "Wirklich beenden?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
MessageBox.Show("Danke das du mit meinem Programm gearbeitest hast ;-)", "Danksagung", MessageBoxButtons.OK, MessageBoxIcon.Information);
Application.Exit();
}
Nun leider wenn ich nun auf den Close Button gehe.. oder das Programm über das Kreuzchen beende... kommt die Abfrage immer 2mal ... Also die MessageBox ob ich wirklich beenden will....
Außerdem schließt das Programm auch wenn ich Nein drücke, weil ich nicht genau weiß wie ich dies nun in diesen Code einbringen kann!
Weil eigentlich habe ich ja nur if result = yes... bei no müsste dann alles beim alten bleiben, so ist es zumindest wenn ich nur diesen Teil verwende
DialogResult result = MessageBox.Show("Wollen Sie das Programm wirklich beenden?", "Wirklich beenden?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
Application.Exit();
Hallo HuStLeR,
Hallo habe in meinem Programm die folgenden 2 Codeabschitte...
ruf in button2_Click einfach nur Close auf.
Außerdem schließt das Programm auch wenn ich Nein drücke,
e.Cancel = true
herbivore
Hey..
in dem Event von dem Button 2 schreib einfach ein
Application.Exit();
rein.. damit sollte der eventhandler des formenschließens aufgerufen werden.. dann ist das doppelte da raus.
Im weiteren musst du das DialogResult.No auch abfangen, ansonsten schließt die Form ja, wenn du nichts machst.
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result = MessageBox.Show("Wollen Sie das Programm wirklich beenden?", "Wirklich beenden?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
MessageBox.Show("Danke das du mit meinem Programm gearbeitest hast ;-)", "Danksagung", MessageBoxButtons.OK, MessageBoxIcon.Information);
else if (result == DialogResult.No)
e.Cancel = true;
Das müsste gehen..🙂
Viele Grüße
Till-H