10 Stimmen

Deaktivieren des übergeordneten Bereichs, während der untergeordnete Bereich aktiviert bleibt

Ich habe eine WinForms-Anwendung, und ich habe eine massive Panel in es. Und innerhalb dieses Panels ist ein Bündel von Sachen, einschließlich einer zweiten, winzigen Panel.

Wenn ein bestimmtes Ereignis eintritt, möchte ich, dass das große Bedienfeld aktiviert wird = false, und ich möchte immer noch, dass das kleine Bedienfeld aktiviert wird. Kann ich das tun? Ich habe versucht, das kleine Bedienfeld einfach wieder zu aktivieren, nachdem ich das große Bedienfeld deaktiviert habe, aber das funktioniert nicht.

Oder wie kann ich es so einrichten, dass das kleine Paneel "auf", aber nicht "in" dem großen Paneel ist?

Ich habe es einfach mal ausprobiert:

tinyPanel.Parent = null;

und tinyPanel.Parent = this;

Aber das lässt tinyPanel einfach verschwinden.

16voto

Cody Gray Punkte 229889

Nein, das ist nicht möglich. Alle Untergeordnete Steuerelemente sind deaktiviert, wenn ihr übergeordnetes Steuerelement deaktiviert ist. So funktioniert Windows nun einmal; Sie werden das nicht ändern können.

Sie müssen einen anderen Weg finden, Ihr Problem zu lösen. Das Steuerelement neu parentieren ist eine Option, aber die Art und Weise, wie Sie versuchen, es zu tun, ist falsch. Sie müssen die Option aus dem Controls Sammlung für das "massive Panel", und fügen Sie es dann dem Controls Sammlung für Ihr Formular. Dann können Sie den Aktivierungsstatus beider Steuerelemente unabhängig voneinander ändern.

0voto

Dyppl Punkte 11725

Ich glaube nicht, dass Sie ein Steuerelement aktivieren können, während das übergeordnete Steuerelement deaktiviert ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X