Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   C# TabPage.Visible-Eigenschaft kann nicht festgelegt werden (https://www.delphipraxis.net/76231-tabpage-visible-eigenschaft-kann-nicht-festgelegt-werden.html)

Jürgen Thomas 31. Aug 2006 17:03


TabPage.Visible-Eigenschaft kann nicht festgelegt werden
 
Nanu,

ich möchte unter NET bei einem TabControl einzelne TabPages gezielt ein- und ausschalten. Unter Delphi gab es dafür TabVisible. Unter NET heißt es aber ausdrücklich:
Zitat:

Zitat von NET SDK-Doku
TabPage.Visible-Eigenschaft
Dieser Member unterstützt die .NET Framework-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Ich finde keine öffentliche Eigenschaft für das gewünschte Verhalten. Eine solche Maßnahme muss es doch geben; aber wie heißt sie bloß?!

Danke für einen Hinweis! Jürgen

PS (Nachtrag): Die Eigenschaft kann zwar zur Laufzeit festgesetzt werden, es wird aber nicht angezeigt:
Code:
if (AlterIndex >= 0) Tabs.TabPages[AlterIndex].Visible = false;

Christian Seehase 31. Aug 2006 17:19

Re: TabPage.Visible-Eigenschaft kann nicht festgelegt werden
 
Moin Jürgen,

ich weiss, dass ich bei www.codeproject.com dazu einmal etwas gefunden habe (ist ein längerer Artikel)
Danach ist es nicht gerade trivial die Tabs auszublenden :?

Christian S. 31. Aug 2006 17:49

Re: TabPage.Visible-Eigenschaft kann nicht festgelegt werden
 
Hallo!

Kann man die TabPage nicht einfach entfernen und wieder hinzufügen?

Delphi-Quellcode:
  //Verstecken
  tabPage2.Tag := tabControl1.TabPages.IndexOf(tabPage2);
  tabControl1.TabPages.Remove(tabPage2);
Delphi-Quellcode:
  //Erscheinen lassen
  tabControl1.TabPages.Insert(Integer(tabPage2.Tag), tabPage2);
Grüße
Christian

Jürgen Thomas 31. Aug 2006 18:03

Re: TabPage.Visible-Eigenschaft kann nicht festgelegt werden
 
Zitat:

Zitat von Christian Seehase
ich weiss, dass ich bei www.codeproject.com dazu einmal etwas gefunden habe (ist ein längerer Artikel)
Danach ist es nicht gerade trivial die Tabs auszublenden :?

Ich habe leider nichts Passendes dort gefunden (Suche nach 'TabPages AND Visible'). Hast Du noch einen Tipp, nach welchem Stichwort ich suchen könnte?

Zitat:

Zitat von Christian S.
Kann man die TabPage nicht einfach entfernen und wieder hinzufügen?

Das könnte eine Lösung sein.

Gibt es vielleicht alternative Vorgehensweisen? Ziel ist ein Formular mit einem Ablauf ähnlich einem der Wizards: Von allen TabPages wird immer genau einer angezeigt; mit einem Button 'Weiter' kommt der nächste und mit 'Zurück' der vorige zum Vorschein.

Ich habe noch die Idee, entsprechend viele Panels zu erzeugen und intern ein Array of Panels zu verwalten.

Danke für weitere Gedanken! Jürgen

Christian Seehase 31. Aug 2006 18:12

Re: TabPage.Visible-Eigenschaft kann nicht festgelegt werden
 
Moin Jürgen,

ich habe eben noch einmal gesucht.
Sprache: C#
Keywords: wizard tab

Die erste Fundstelle:
Wizard Tab Control

aber es gibt noch diverse weitere Fundstellen.

Jürgen Thomas 31. Aug 2006 19:37

Re: TabPage.Visible-Eigenschaft kann nicht festgelegt werden
 
Zitat:

Zitat von Christian Seehase
Sprache: C#
Keywords: wizard tab

Die erste Fundstelle:
Wizard Tab Control

Danke für den Hinweis; ich untersuche es morgen. Jürgen

Jürgen Thomas 2. Sep 2006 11:28

Re: TabPage.Visible-Eigenschaft kann nicht festgelegt werden
 
Zitat:

Zitat von Christian Seehase
Sprache: C#
Keywords: wizard tab
...
aber es gibt noch diverse weitere Fundstellen.

So, ich habe gestern und heute die Verweise "studiert", mir zum Probieren
Cristi Potlog's Wizard Control for NET geholt (das war das einzige Beispiel für NET 1.1) und untersucht. Positives Ergebnis: Damit kann ich mein aktuelles Problem bearbeiten.

Also nochmals vielen Dank an Christian Seehase!

Aber für andere Situationen bleibt die Erkenntnis: TabPages können nicht je nach Situation einfach ein- oder ausgeblendet werden. Dazu werde ich den Gedanken von Christian S. im Hinterkopf behalten.

Schönes Wochenende! Jürgen


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz