C# Process.Start wird machmal doppelt gestartet?

Weiß jemand, warum der Browser Firefox doppelt gestartet wird, wenn ich Process.Start ausführe? Ich habe ein OneClick Project mit vielen RadioButtons erstellt. Manche starten nur einmal, was ich auch will, aber Firefox zum Beispiel startet immer 2x. Der Browser ist also in 2 eigenen Fenstern gestartet, siehe Code1.

Was ist der Grund dafür??

Beim Windows-Explorer startet das nur einmal, siehe Code2

Code1:

    private void radioButton25_CheckedChanged(object sender, EventArgs e)
    {

        try
        {

            Process.Start("firefox.exe");

        }
        catch { }
        radioButton25.Checked = false;
    }

Code2:

    private void radioButton22_CheckedChanged(object sender, EventArgs e)
    {
        //if (MessageBox.Show("", "Starten", MessageBoxButtons.YesNoCancel) == DialogResult.Yes)

            try
            {

                Process.Start("explorer.exe");
                
            }
            catch { radioButton22.Checked = false; }
        
    }

Möglicherweise, weil oben das Checked = false nicht im catch-Block steht, sondern dahinter, also immer aufgerufen wird.

Kann es sein, dass dadurch das Event ein zweites Mal getriggert wird, falls beim Aufruf des Event-Handlers Checked == true war?

Layer 8, selbst gelöst. Oh man

ja, das war es wohl. Nachdem ich gepostet habe, sah ich auch den Unterschied. DANKE

Jetzt klappt es wirklich, was ich wollte:
Code:

    private void radioButton22_CheckedChanged(object sender, EventArgs e)
    {
                    
        if (radioButton22.Checked)
        {
            Process.Start("explorer.exe");
            radioButton22.Checked = false;
        }
                    
    }
1 Like

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Nachrichten mehr erlaubt.