我需要限制我在CheCkListBox中的选择。 列表中的选择不超过两个。 怎么做?
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0: begin
// No more than two selections from the list
end;
1: begin
// Choice not limited
end;
end;
end;
答案 0 :(得分:2)
获取已检查项目的数量:
function GetCheckedCount(const Cl : TCheckListBox) : Integer;
var
I: Integer;
begin
Result := 0;
for I := 0 to Cl.Count - 1 do
begin
if Cl.Checked[i] then
inc(Result);
end;
end;
CheckListBox OnClickCheckEvent:
procedure TForm13.CheckListBox1ClickCheck(Sender: TObject);
const // or global variable or ...
MaxCheckedItems = 2;
begin
if GetCheckedCount(CheckListBox1) > MaxCheckedItems then
CheckListBox1.Checked[CheckListBox1.ItemIndex] := False;
end;