Wie programmiere ich programmgesteuert die Registerkarten in TabControl
? Ich muss die Registerkarten abhängig von einigen Bedingungen sortieren.
Wenn es möglich ist, die Nachbestellung über den Designer durchzuführen, müssen wir in der Lage sein, dies auch zur Laufzeit über Code zu tun.
this.TabControl1.TabPages.Remove(this.TabPage2)
this.TabControl1.TabPages.Insert(0, this.TabPage2)
Wenn Sie die Registerkarte nicht entfernen, wird sie immer noch an ihrem alten Speicherort angezeigt. Mit anderen Worten, Sie haben zwei Registerkarten derselben Registerkarte.
Das ist richtig. Unten finden Sie einen kurzen Beispielcode.
Ich habe ein Tab-Steuerelement mit zwei Tabs (tabpage1, tabpag2)
Dann deklariere ich zwei Registerkarten und speichere die vorhandenen Registerkarten darin.
%Vor%Dann habe ich auf Knopfdruck die Tabs mit
entfernt %Vor%Wenn Sie nun die Reihenfolge ändern möchten, müssen Sie sie in dieser Reihenfolge auf die Registerkarte hinzufügen
%Vor%Hinweis: Dies ist ein nicht getesteter Schnellcode.
Die folgenden Codezeilen können auch den Zweck erfüllen, diese Art von Lösung funktioniert auch für andere Arten von Daten, die nicht direkt sortiert werden können: - In eine Liste konvertieren - Sortiere die Liste - leg es zurück
%Vor%Gehen Sie in die Designer.cs-Datei
Dort finden Sie
%Vor%Die Reihenfolge der Bestellung ist die Reihenfolge Ihrer Tabpages in der Tab-Control. Ändern Sie die Reihenfolge, wie Sie wünschen. Entfernen und Hinzufügen von Funktionen von TabControl.Controls wird Ihnen helfen, als Shoban antwortete.
versuche dies nach Initiizazinkomponent (). Dieser Code gibt Ihnen die Freiheit, ihn programmgesteuert in der CS-Datei zu ändern.
%Vor%Manchmal habe ich tabControls mit mehreren tabPages. Zur Laufzeit werden tabPages unsichtbar gemacht (indem sie entfernt werden) und später wieder hinzugefügt.
Danach können die TabPages in falscher Reihenfolge sein. Ich verwende diesen Code, um sie erneut zu ordnen:
%Vor%Tags und Links c# winforms tabpage tabcontrol