我需要在CheckListBox

时间:2017-05-09 09:25:01

标签: delphi

我需要限制我在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;

1 个答案:

答案 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;