2009-07-17 3 views
0

Sagen Sie zum Beispiel, ich habe eine C# Winforms-Anwendungen, die eine Tab-Control mit vier verschiedenen Registerkarten verwendet. Über diesem Steuerelement im Hauptformular befindet sich eine Reihe von Gruppenfeldern, die verschiedene Schaltflächen und Textfelder enthalten, die für die verschiedenen Funktionen relevant sind, die auf jeder einzelnen Registerkarte ausgeführt werden.C# WinForms - Bestimmte Steuerelemente deaktivieren, wenn sie nicht verwendet werden?

Wenn ich eine bestimmte Registerkarte verwende, die nur einige der Steuerelemente verwendet, möchte ich die anderen deaktivieren, damit der Benutzer nicht versehentlich auf die falschen Schaltflächen klicken kann.

Beispiel Logik:

If(tabpage1.selected) 
{ 
    button3.Disabled(); 
} 

Kennt jemand eine Möglichkeit, diese Art von Funktionalität der Implementierung ?!

Grüße,

EDIT:

Grunde möchte ich in der Lage sein, Gruppenfelder zu deaktivieren !!

Antwort

5

Anstatt .Disabled() Aufruf, stellen Sie die .Enabled Eigenschaft auf false. Um dies zu vereinfachen, können Sie die zugehörigen Steuerelemente in denselben Container (Panel-Steuerelement) einfügen und für diesen Container nur Enabled auf false setzen.

+0

Wow hat es buchstäblich so einfach, Prost nicht erkennen war! – Goober

5
button3.Enabled = false 
3

Statt:

if(tabpage1.selected) 
{ 
    button3.Disabled(); 
} 

Verwendung:

buttom3.Enabled = !tabpage1.selected;