![]() |
Checkboxen zurücksetzen?
Hallo,
ich habe 20 check boxen und die möchte ich alle durch einen klick auf einen Button wieder zurücksetzen. Also das nichts mehr angekreuzt ist. |
Re: Checkboxen zurücksetzen?
Zuerst mal die simple Methode (da kommen nachher bestimmt weitere Vorschläge, aber ich mache jetzt Feierabend ;)):
Delphi-Quellcode:
procedure TMainform.btnResetClick(Sender: TObject);
begin CheckBox1.Checked := false; CheckBox2.Checked := false; CheckBox3.Checked := false; CheckBox4.Checked := false; ... CheckBox20.Checked := false; end; |
Re: Checkboxen zurücksetzen?
Hi;
was spricht gegen das hier:
Delphi-Quellcode:
... ich würds so machen... vor allem angenehmer, wenns nich 20 sondern 200 Checkboxenen sind...
procedure zuruecksetzen;
var i:integer; begin for i:=1 to 20 do begin TCheckBox(Form1.FindComponent('Checkbox'+inttostr(i))).checked:=false; end; end; |
Re: Checkboxen zurücksetzen?
Das setzt aber voraus, dass die Checkboxen auch durchgehend "Checkbox1" bis "CheckBox20" heißen. Ansonsten könnte man sich über das Tag behelfen.
|
Re: Checkboxen zurücksetzen?
Es gibt übrigens auch die Komponente TCheckListBox. Ideal, wenn man sehr viele gleichartige Checkboxen braucht.
|
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Delphi-Frage |
Re: Checkboxen zurücksetzen?
Hallo,
was auch geht, ein Array mit den in Frage kommenden Checkboxen zu erstellen. Funktioniert auch dann, wenn noch mehrere andere Checkboxen vorhanden sind.
Delphi-Quellcode:
var
Mein_CH_box : Array [0..19] OF TCheckbox; procedure TForm1.FormCreate(Sender: TObject); begin Mein_CH_box[ 1] := Checkbox1; // CheckBoxen in Array eintragen Mein_CH_box[ 2] := Checkbox3; Mein_CH_box[ 3] := Checkbox5; Mein_CH_box[ 4] := Checkbox6; .. .. .. Mein_CH_box[19] := Checkbox38; end; procedure TForm1.ClearChecks; var i : Integer; begin for i := 0 TO 19 DO Mein_CH_box[i].Checked := False; // Checked entfernen end; |
Re: Checkboxen zurücksetzen?
Ehrlich gesagt finde ich shmias Vorschlag am Elegantesten.
|
Re: Checkboxen zurücksetzen?
Hier noch eine Möglichkeit, allerdings nur wenn Du alle CheckBoxen ändern willst.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var i : Integer; c : TObject; begin for i := 0 to ComponentCount-1 do begin c := Components[i]; if (c is TCheckBox) then (c as TCheckBox).Checked := False; end; end; |
Re: Checkboxen zurücksetzen?
@ DeddyH: Du gehts doch selbst von aus, das die alle gleich heißen :lol:
@ hjm: hierfür würde ich ja wieder ne for-schleife setzten... allein aus faulheit... :D
Delphi-Quellcode:
Ich würd auch wie Shima sagt machen, solange ich die ganzen CheckBoxen nicht kreuz und quer auf der Form verteilt habe, und diese Funktion nur zum zurücksetzten brauche...
procedure TForm1.FormCreate(Sender: TObject);
begin Mein_CH_box[ 1] := Checkbox1; // CheckBoxen in Array eintragen Mein_CH_box[ 2] := Checkbox3; Mein_CH_box[ 3] := Checkbox5; Mein_CH_box[ 4] := Checkbox6; .. .. .. Mein_CH_box[19] := Checkbox38; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz