Autor Beitrag
kevinkeegan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 27

Win 7 Prof., Win XP Prof
C# (VS 2010 Premium), SQL, PLS/SQL
BeitragVerfasst: Mo 26.11.07 17:28 
Hallo C#-Forum,

ich bin C#-Neuling und programmiere mein erstes konkretes Projekt mit Visual Studio 2005 und hoffe hier eine Antwort auf meine triviale Frage zu bekommen.

Wie kann ich ein TabPage deaktivieren, so dass nicht auf dessen Inhalt zugegriffen werden kann. Bislang habe ich es nur geschafft, den kompletten Inhalt der TabPage zu deaktivieren (mit TabControl.Enabled = false). Ich suche etwas wie TabControl.TabPage.Enabled = false.

Danke im voraus.

Moderiert von user profile iconChristian S.: Überflüssige Zeilenumbrüche entfernt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 26.11.07 17:36 
Hallo und :welcome:!

Die einzelnen tabPages liegen Dir doch auch nochmal als Objekte vor. Also einfach:
ausblenden C#-Quelltext
1:
tabPage1.Enabled = false;					


Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
kevinkeegan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 27

Win 7 Prof., Win XP Prof
C# (VS 2010 Premium), SQL, PLS/SQL
BeitragVerfasst: Mo 26.11.07 17:56 
user profile iconChristian S. hat folgendes geschrieben:

ausblenden C#-Quelltext
1:
tabPage1.Enabled = false;					



Genau danach habe ich vergebens gesucht, ein TabPage hat keine Eigenschaft "Enabled", ein TabControl schon. Seltsamerweise lässt der Compiler das durch:
ausblenden C#-Quelltext
1:
2:
3:
4:
private void Form1_Load(object sender, EventArgs e)
        {
            tabPage2.Enabled = false;
        }

Hat zur Laufzeit aber keine Wirkung und TabPage2 lässt sich aktivieren/drücken. Geht man im Quelltext mit der Maus über "Enabled", bekommt man den Hint: "Dieser Member hat für das genannte Steuerelement keine Bedeutung."
==> Wie muss man das nun codieren?

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 26.11.07 19:02 
Selbstveständlich hat eine TabPage diese Eigenschaft, sonst würde das nicht kompilieren. Was für Hinweise Dir der Editor zeigt ist da kein Kriterium. Und sie funktioniert auch: die Controls auf der TabPage sind alle disabled.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
kevinkeegan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 27

Win 7 Prof., Win XP Prof
C# (VS 2010 Premium), SQL, PLS/SQL
BeitragVerfasst: Di 27.11.07 10:09 
Guten Morgen,

ich habe versucht klar auszudrücken, dass ich es sehr wohl geschafft habe, alle Controls auf der TabPage zu deaktivieren. Ich möchte aber die TabPage selbst, sprich den Reiter an sich, deaktivieren, so dass man die TabPage gar nicht erst "erreichen" kann.

"Selbstveständlich hat eine TabPage diese Eigenschaft" Ich kann für eine TabPage (nicht TabControl) beim besten Willen kein Property finden was "Enabled" heisst. Wo bitte finde ich das bzw. wie heisst es genau?

MfG
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Di 27.11.07 10:19 
Du hast leider recht, Christian nicht, wie in der Doku zu lesen ist:
Zitat:
TabPage.Enabled-Eigenschaft
Diese Eigenschaft unterstützt die .NET Framework-Infrastruktur und ist nicht für die direkte Verwendung in Code bestimmt.
Dieser Member hat für das genannte Steuerelement keine Bedeutung.

Für diese Zwecke ist das TabControl.Selecting-Ereignis vorgesehen:
Zitat:
Tritt ein, bevor eine Registerkarte ausgewählt wird. Dies ermöglicht einem Handler, die Änderung der Registerkarte abzubrechen.

Ich hatte das gleiche Problem, als ich einzelne TabPages ausblenden wollte. Das geht nur dadurch, dass ich sie aus der Collection entferne (notfalls zeitweise).

Gruß Jürgen
kevinkeegan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 27

Win 7 Prof., Win XP Prof
C# (VS 2010 Premium), SQL, PLS/SQL
BeitragVerfasst: Di 27.11.07 10:29 
Danke Jürgen. Werde ich mir anschauen und ausprobieren. Das es so "kompliziert" sein muss...
Ich komme aus der Datenbankecke (Oracle Forms u.a.) und da ist es eine winzige Zeile Code, um das Beschriebene zu erreichen.

MfG
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 27.11.07 10:40 
Eine Eigenschaft, die alle Elemente in der TabPage deaktiviert, hat keine Bedeutung? (Und das tut sie, ich hab's ausprobiert!) Und wenn sie in der Doku steht, existiert sie offensichtlich auch. :gruebel:

Tatsächlich habe ich aber überlesen, dass auch der Reiter nicht mehr anklickbar sein sollte.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".