Wie legen Sie zwei Radiobuttons in einer Gruppe und zwei in einer anderen Gruppe fest?

8

Ich habe insgesamt vier Radiobuttons in meinem Formular, ich möchte die ersten zwei Buttons in einer Gruppe und die zweiten zwei in einer anderen Gruppe einstellen, damit ich eins aus der ersten Gruppe und eins aus der zweiten Gruppe überprüfen kann.

>

Wenn ich jetzt einen aus der ersten Gruppe suche, wird der aus der zweiten Gruppe deaktiviert.

Ich habe mich immer gefragt, wie ich das machen soll und ich glaube, jetzt ist es an der Zeit, das herauszufinden. :)

    
Ivan Prodanov 26.07.2009, 09:04
quelle

5 Antworten

13

Um aus der vertrauten Delphi 5-Hilfe zu zitieren:

  

Standardmäßig sind alle Optionsfelder gruppiert, die direkt in demselben Fenstersteuercontainer enthalten sind, z. B. TRadioGroup oder TPanel . Beispielsweise können zwei Optionsfelder in einem Formular nur dann gleichzeitig überprüft werden, wenn sie sich in separaten Containern befinden, z. B. in zwei verschiedenen Gruppenfeldern.

    
mghie 26.07.2009, 09:15
quelle
2

Legen Sie zwei Schaltflächen auf ein Panel und die anderen beiden auf ein anderes Panel. Auf diese Weise werden sie als separate Gruppierungen behandelt. Ändern Sie die Flächenschrägen, um die Kante zu entfernen, und die vier Schaltflächen sehen für den Benutzer nicht so aus, als wären sie getrennt, falls Sie das möchten.

    
Kevin Killion 18.05.2010 22:31
quelle
0

Ein RadioButton verfügt nicht wie der SpeedButton über eine GroupIndex-Eigenschaft.

Es wäre viel einfacher, wenn das der Fall wäre, denn Sie könnten Nummern verwenden, um Gruppen von RadioButtons zu erstellen, die nur mit denen derselben Nummer interagiert, die im GroupIndex eingestellt ist.

Sie können sie also nur innerhalb eines Gruppierungssteuerelements wie z. B. eines Panels ausgeben.

Aber Sie könnten immer Ihre eigene Version eines RadionButtons mit verschiedenen neuen Eigenschaften erstellen. :)

    
PSyLoCKe 29.06.2012 22:01
quelle
0

Aus diesem Grund verwenden wir Groupbox und Radioogruppen (können unter Standard-Steuerelemente gefunden werden). Ich empfehle Ihnen, 2 Groupboxes zu erstellen und jeweils 2 Radiobuttons zu setzen. Dann können Sie 2 Radiobuttons überprüfen.

Sie können auch einen Titel für die Groupbox auswählen. Dies ist eine sehr schöne Art, Ihr Bewerbungsformular zu organisieren.

    
user2296565 15.05.2013 10:41
quelle
0

Das ist großartig, wenn Optionsfelder derselben Gruppe in Zeilen oder Spalten stehen können, aber was ist, wenn Optionsfelder in einem X-Stil (oder auf eine komplexere Weise) angezeigt werden sollen:

%Vor%

Einschränkungen für diesen X-Style-Sample habe ich gesetzt:

  • A hat eine Beziehung mit D (A und D können nicht gleichzeitig überprüft werden, wenn man die andere abhakt)
  • C hat eine Beziehung mit B (C und B können nicht gleichzeitig überprüft werden, wenn man das andere abhakt)

Es ist visuell in einem X-Stil erforderlich, also kann ich keine GroupBox mit diesem RadioButton einfügen, da GroupBox rechteckig und nicht diagonal ist.

Ich kenne keine Reparatur nur mit Standard-Komponenten, darunter gibt es einen Haken, um die Panels optisch transparent und auch durchklickbar zu machen, so dass beide Panels quadratisch sind, übereinander.

Aber was ist mit den Radio-Tasten sehr weit voneinander, mit vielen komplexen Komponenten, Flow-Panels, Memos, etc?

Die einzige Option ist die Verwendung von Komponenten von Drittanbietern (zumindest bis zu dem, was ich weiß) oder eine Menge harter Arbeit:

  1. Erstellen Sie für jeden RadioButton ein Bedienfeld mit exakt derselben Größe und Position wie der RadioButton; Das macht Radio-Button, um andere nicht zu deaktivieren, so dass mehr Code benötigt wird.
  2. Fügen Sie Code für jeden RadioButton hinzu. Wenn das Kontrollkästchen aktiviert ist, führen Sie ein Häkchen bei allen zugehörigen Elementen aus (die nicht gleichzeitig geprüft werden sollen).

Zu viel Arbeit für etwas, das auf einer einfachen Eigenschaft wie RadioGroupIndex hätte implementiert werden können, wenn ihm ein Wert von 0 zugewiesen wurde und dann so funktioniert, wie sie jetzt arbeiten, ansonsten nur die für diese Gruppe deaktivieren ... wie in den Hauptmenüs.

    
claudio 23.09.2016 10:56
quelle

Tags und Links