2009-06-19 16 views
1

In einem einfachen Guess-The-Number-Spiel, das ich mache, gibt der Benutzer ein paar Zahlen ein und drückt eine Taste. Ein zweites Fenster wird aktiviert und das Original wird deaktiviert. Der Benutzer gibt nun eine Nummer ein und drückt mehrmals auf eine andere Taste. Da die beiden Panels niemals gleichzeitig aktiviert werden, möchte ich, dass beide Tasten "Standard" sind, d. H., Sie werden gedrückt, wenn Enter gedrückt wird. Ist das möglich? Anscheinend kann ich nur eines pro Fenster einstellen.Windows Forms: Mehrere Standardschaltflächen?

Antwort

1

Ein Fenster in Windows hat per Definition nur eine Standardschaltfläche. Dies ist eine Funktionalität, die für Dialogfenster gedacht ist, in denen Sie die Standardschaltfläche niemals deaktivieren würden.

Sie können stattdessen die Standardschaltfläche wechseln, wenn Sie ein Panel deaktivieren. Eine andere Option wäre, Standardschaltflächen zusammen zu werfen und KeyPreview auf dem Formular zu verwenden und die Eingabetaste selbst zu bearbeiten, indem Sie sie an die entsprechende Schaltfläche senden, die gerade aktiv ist.

1

Nein, keine Möglichkeit, das zu erreichen, von dem ich weiß. Sie müssen die Standardtaste wechseln, wenn Sie eine Taste zur nächsten Taste drücken.

1

Sie können nur eine Standardschaltfläche pro Fenster verwenden. Dies kann jedoch zur Laufzeit geändert werden. Wenn Sie also ein bestimmtes Panel aktivieren, können Sie es an diesem Punkt als Standard festlegen.