Hi @ all,
leider habe ich über die sufu hier nichts gefunden, was mir so wirklich weiter heflen konnte.
Und zwar möchte ich noch eine (oderer halt mehrere) Anweisungen ausführen, wenn das Form / Window / Fenster über den 'X' Button oben rechts geschlossen wird. Ausblenden wollte ich es eigentlich nicht.
// deaktiviert die 3 ^>
this.ControlBox = false;
// window größe lässt sich nicht mehr ändern
this.FormBorderStyle = FormBorderStyle.FixedSingle;
Danke im voraus für hilfreiche Posts
MfG
Schau dir mal das FormClosing oder FormClosed Event an.
ah, Danke regen! Funktioniert soweit,
jedoch führt er mir die sache nun zwei mal aus. 🤔
private void closeWindow()
{
MessageBox.Show("lala...");
Application.Exit();
}
private void beendenToolStripMenuItem_Click(object sender, EventArgs e)
{
closeWindow();
}
protected override void OnFormClosing(FormClosingEventArgs e)
{
closeWindow();
}
ist doch klar, warum.
klickst du auf dein menuitem, läuft der in die closewindow. via application.exit() gehts wieder in die onformclosing und wieder weiter in die closewindow und nochmal zur application.exit()
hmm...
aber irgendwie bekomme ich es nicht hin 🙁
kann mir jemand mit code snippes auf die sprünge helfen?
Füg zum Event 'FormClosing' eine Methode hinzu. Diese sollte sich demnach darum kümmern.
Via MenuItem oder Button machst du schlicht und ergreifend dann this.close() oder Application.Exit() obwohl ich bei der Exit Methode nicht ganz sagen kann, ob das da reibungslos funzt, weil ich bis jetzt nicht mit exit die formclosing hab zugreifen lassen.
Falls du trotzdem nicht weiter kommst -.-
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
this.closeToolStripMenuItem.Click += new System.EventHandler(this.closeToolStripMenuItem_Click);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
MessageBox.Show("Jetzt möchte ich bevor die Anwendung beendet wird noch was machen");
}
private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}
private void closeToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
Ein Programm wird dann geschlossen wenn alles abgearbeitet ist! Das heißt wenn du nur die eine WinForm zum abarbeiten hast so wird nach dem Schließen der WinForm das Programm beeendet. Du musst also deine Anweisungen dort plazieren wo sie unabhänig von der WinForm sind! Damit du auch nach dem schließen der WinForm asführen kanst.
void Main()
{
//Neue FormTest anlegen..
//Form wird angezeigt
FormTest.Show()
//Und hier kanst du noch einen WIndows Dienst starten oder was immer du willst
}
sehr schön! 👍 😁
Danke für für die fixe AW
EDIT sogar noch editiert und ein zweiter post is auch dazu gekommen
habs nun aber 🙂