Hallo uwe96,
ich mach Dir mal folgenden Vorschlag:
Die Routine zum Laden der GroupBox bzw. des Panels jeweils in
eine eigene Methode packen. Dazu müsstest Du allerdings beide
gleich nach dem Eintrag
public partial class ......
als public deklarieren. Sollte kein Problem sein.
Beide Methoden setzt Du dann in den if-Zweig von
private void buttonGrafikEinblenden_Click....
ebenfalls auch den Code für die Umbenennung Deines Buttons.
Im else-Zweig würde ich dann, neben dem Code für den Button, eine
weitere Methode einfügen, die so aussehen könnte:
private void GrafikAusblenden(object sender, EventArgs e)
{
if (this.tabPage1.Controls.Contains(groupBoxGrafik))
{
this.tabPage1.Controls.Remove(groupBoxGrafik);
groupBoxGrafik.Dispose();
}
if (this.tabPage1.Controls.Contains(panelGrafik))
{
this.tabPage1.Controls.Remove(panelGrafik);
panelGrafik.Dispose();
}
}
Unter Umständen, je nach C#-Version, welche Du verwendest,
könntest Du dieses this auch noch weglassen - wäre dann etwas
weniger Quellcode. Die einzelnen Methoden machen das Ganze,
meiner Meinung nach etwas übersichtlicher und erleichtern später
eventuell mal die Fehlersuche ;-)
Ich denke, damit sollte Dein Problem erst einmal gelöst sein und
diese Lösung wäre auch eine saubere runde Sache.
Weiterhin viel Spaß und frohes Schaffen,
liebe Grüße
Dani