- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想限制一个TCheckListBox。我希望只检查 2 个项目,所有未检查的项目将被禁用并变灰。由于选中/未选中的项目是动态的,因此我不能使用静态 itemIndex。
这是我尝试过的,但出现“超出芯片范围”错误。
我的 CheckListBox 的单击事件;
var
NumberOfCheckedItems, I: Integer;
begin
NumberOfCheckedItems := 0;
for I := 0 to CkLst1.Count - 1 do
begin
if CkLst1.Checked[I] then
NumberOfCheckedItems := NumberOfCheckedItems + 1;
end;
if NumberOfCheckedItems > 1 then
begin
CkLst1.Checked[I] := Enabled;
CkLst1.Enabled := FALSE;
CkLst1.AllowGrayed := TRUE;
end
else
begin
//no idea
end;
end;
最佳答案
这个方法应该可以完成工作
procedure DoCheckListBox( AChkLb : TCheckListBox; AMaxCheck : Integer );
var
LIdx : Integer;
LCheckCount : Integer;
begin
// counting
LCheckCount := 0;
for LIdx := 0 to AChkLb.Count - 1 do
begin
if AChkLb.Checked[LIdx] then
if LCheckCount = AMaxCheck then
AChkLb.Checked[LIdx] := False
else
Inc( LCheckCount );
end;
// enable/disable
for LIdx := 0 to AChkLb.Count - 1 do
AChkLb.ItemEnabled[LIdx] := AChkLb.Checked[LIdx] or ( LCheckCount < AMaxCheck );
end;
更新
你最好在里面调用这个 TCheckListBox.OnClickCheck
事件而不是 OnClick
事件。双击可以影响选中状态,但不会调用 OnClick
。每当检查状态更改时都会调用 OnClickCheck
。
关于delphi - Delphi 上限制 TCheckListBox 的选中项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23237636/
当用户将鼠标向下移动到 TCheckListBox 中的项目列表时,如何显示特定于鼠标下的项目的提示? 在德尔福 2010 中。 汤姆 最佳答案 我执行此操作的方法是利用 TApplication.O
我在表单上有一个 TCheckListBox。它的 Columns 属性设置为 2,如果屏幕上两列无法容纳的项目数,它会在控件底部放置一个水平滚动条。 事实是,这种形式的布局方式,垂直滚动会更方便。但
我正在使用 TcheckListBox 控件,并希望在此使用第二列,但除了列和标题属性之外,我找不到任何关于插入多列内容的源... 这看起来像是一个菜鸟问题,但 Delphi 的帮助中没有任何相关内容
我有一个简单的问题。如何在不使用循环的情况下获取 CheckBoxList 框中选中项目的计数? 最佳答案 TCheckListBox 未提供您正在查找的选项。需要对其 Checked[] 属性进行循
我想限制一个TCheckListBox。我希望只检查 2 个项目,所有未检查的项目将被禁用并变灰。由于选中/未选中的项目是动态的,因此我不能使用静态 itemIndex。 这是我尝试过的,但出现“超出
在 Delphi 7 中,我使用 TCheckListBox。我希望它使用 TStringList 而不是 TStrings,因此我可以将重复项设置为 dupIgnore,并将排序设置为 TRUE。
我将此代码与 TCheckListbox (lbServices) 一起使用,并且工作正常。但使用 Devexpress 的 TcxCheckListBox 会引发异常。 procedure TMai
我是一名优秀的程序员,十分优秀!