2. Yöntem
Yine üstteki gibi en çok 3 alan seçimine izin verilecek ancak bu kez uyarı yerine diğer ChecBox'ların Enabled özellikleri False olarak görüntülenecek.
CheckBox1 OnClick yordamına şu kodları ekleyi ve yukarıdaki kodları uyguladığımız gibi diğer ChecBox bileşenlerinin OnClik yordamlarını "CheckBox1Click" olarak işaretleyin.
[CODE]procedure TForm1.CheckBox1Click(Sender: TObject);
Const
{$J+} Sayac: Integer = 0; {$J-}
begin
If TCheckBox(Sender).Checked then
begin
Inc(Sayac);
if Sayac = 3 then
begin
// Tüm checkbox'ları kontrol et
for var i := 0 to ComponentCount - 1 do
begin
if Components[i] is TCheckBox then
begin
// Seçili olmayanları devre dışı bırak
if not TCheckBox(Components[i]).Checked then
TCheckBox(Components[i]).Enabled := False;
end;
end;
end;
end
else // Checkbox seçimi kaldırıldığında
begin
Dec(Sayac);
if Sayac < 3 then
begin
// Tüm checkbox'ları tekrar aktif et
for var i := 0 to ComponentCount - 1 do
begin
if Components[i] is TCheckBox then
TCheckBox(Components[i]).Enabled := True;
end;
end;
end;
end;
[/CODE]
[ATTACH=full]123827[/ATTACH]