martins
Goto Top

DOTnet Csharp FormClosing abfragen

Ich habe ein Formular, welches Daten abfragt. Beim Verlassen eines jeden Eingabefeldes (zB TextBox, DGV) wird die zugehörige _Validating-Methode oder _CellValueChanged-Methode aufgerufen.

Auch wenn ich das Programm beenden möchte, wird diese Methode aufgerufen - bevor die _FormClosing-Methode aufgerufen wird.

Wie kann ich abfragen, ob in die _FormClosing-Methode verzweigt werden wird?

private void txb_Validating(object sender, CancelEventArgs e)
{
    doLog("Text 1");  
}

private void dgv_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
    doLog("Text 2");  
}

private void doLog(string txt)
{
    // wird bei Beenden erst aufgerufen...
    if( [FormClosing is active] )
    {
        // Do something
    }
    else
    {
        // Do someting different
    }
}

private void MyForm_FormClosing(object sender, FormClosingEventArgs e)
{
    // ... dann geht es erst hier weiter
    // Write the Logfile
}
Wie mus ich [FormClosing is active] ersetzen, damit ich zum Ergebnis komme?

Meine Ansätze waren
if ( this.FormClosing== true ) 

oder

this.FormClosing +=new FormClosingEventHandler(MyForm_FormClosing);

oder

FormClosingEventHandler cl = new FormClosingEventHandler(MyForm_FormClosing);
aber mit allen Ansätzen komme ich in eine Sackgasse.

Content-ID: 202318

Url: https://administrator.de/contentid/202318

Ausgedruckt am: 22.11.2024 um 09:11 Uhr

MrTrebron
MrTrebron 25.02.2013 um 15:52:18 Uhr
Goto Top
Servus,

ist dein Google kaputt? Oder wird bei dir die MSDN nicht mit durchsucht?

Form.FormClosing-Ereignis
public event FormClosingEventHandler FormClosing

Gruß
Norbert
MartinS
MartinS 25.02.2013 um 16:50:15 Uhr
Goto Top
Auf den MSN-Seiten war ich auch, die helfen mir aber nicht weiter.
Den Eventhandler habe ich ja. Aber ich muss wissen, ob er durchlaufen wird bevor er durchlaufen wird!!