TabSheets disablen
-
Hallo Forum
Ich habe eine GUI mit mehreren Tabs und würde gerne einzelne Tabs disablen bei bestimmten Events, wie zum Beispiel einem button_click.
Hier also meine Frage: Ist es möglich einzelne Tabsheets zu disablen bei einem bestimmten Event? Sagen wir mal, wenn ich den Button "Berechnen" drücke, dann kann ich Tab 1 nicht mehr öffnen und es wird so leicht gräulich dargestellt. Also irgendwie sowas:private void Berechnen_Click(object sender, EventArgs e) { tabSheet1.disable(true); Update(); }
Die Funktion disable habe ich leider bisher nirgendwo gefunden. Gibt es sowas?
Vielen Dank für eure Hilfe!
-
Hallo
Versuch es mal mit
Enable = false;
chrische
-
Danke, das habe ich ausprobiert. Es wird dann zwar die TabPage disabled, aber nicht das Tab selber. Gibt es die Möglichkeit das komplette Tabsheet auszugrauen, so dass der Benutzer keine Möglichkeit mehr hat das Tab anzuklicken?
-
Hallo
Dann setzte doch das Property für den gesamten Tabbereich und nicht nur für das einzelne Blatt.
chrische
-
Hmm, wenn ich den gesamten Tabbereich disable, dann ist ja auch mein momentaner tab disabled. Das möchte ich ja aber nicht. Ich möchte mit sagen wir Tab1 weiterarbeiten, während z.B. Tab2, Tab3 disabled sind, Tab4 aber widerum nicht. Das ganze hätte ich halt gerne auch ausgegraut und nicht nur die zugehörigen TabSheets der Tab2, Tab3 disabled, sondern tatächlich das komplette Tab2 od. Tab3. Ich habe das Gefühl dass das gar nicht möglich ist, kann das sein?
-
Hallo
Ich glaube nun verstehe ich, was du willst. Helfen kann ich dir allerings nicht.
chrische
-
Dir bleiben zwei Möglichkeiten, entweder du schreibst dir ein UserControl, welches von TabPage erbt und fügst die Property Enabled ein.
Oder du gehst den Weg übertabControl.TabPages.Remove(deineTabPage);
zum entfernen und über
tabControl.TabPages.Add(deineTabPage);
bzw.
tabControl.TabPages.Insert(int index, deineTabPage);
zum wieder hinzufügen zur Auflistung. Die Version mit "Insert" gibt dir die Möglichkeit über den Index zu bestimmen wo die TabPage wieder eingefügt werden soll.
-
Danke michme, ich habe nach langem stöbern im Internet tatsächlich jemanden gefunden, der genau das, was ich gesucht habe, als Erweiterung der .Net Toolbox geschrieben hat. Hier der Link für alle, die auch mal einzelne Tabs disablen wollen und das ganze nicht selbst implementieren möchten:
Funktioniert super!
Grüße
Samo