DELPHI中如何通过编程自动限制复选框数量
比如一共有6个复选框,只允许选择3个,超过3个就没法选择了,我是刚学的菜鸟哦,希望大大们能详细说下小弟感激不尽!下面是百度的代码,为什么变量j一点击组件直接变成6了? var I,J:integer;for i:=0 toself.ComponentCount-1 do if components is TCheckBox then if TCheckBox(Sender).checked then inc(j);if j<=3 then TcheckBox(Sender).checked:=true else TcheckBox(Sender).checked:=falseself.ComponentCount-1是窗体上的控件总数吧 把它改成6 G0398 发表于 2012-3-11 12:13 static/image/common/back.gif
self.ComponentCount-1是窗体上的控件总数吧 把它改成6
后面有if排除别的不成吗 等待救赎 发表于 2012-3-11 14:08 static/image/common/back.gif
后面有if排除别的不成吗
delphi 中的控件数组我不会 你百度下【delphi控件数组】 把所有的TCheckBox的Click事件都挂钩到下面这个处理函数即可:procedure TForm1.CheckBoxChecked(Sender: TObject);
var
checkedCount, i: Integer;
begin
checkedCount := 0;
for i := 0 to Self.ComponentCount - 1 do
if (Self.Components is TCheckBox)
and TCheckBox(Self.Components).Checked then
Inc(checkedCount);
if TCheckBox(Sender).Checked and (checkedCount > 3) then
TCheckBox(Sender).Checked := False;
end; j没有初始化吧?应该是每次运行值都不一样,你试试!!!!! 长长见识。。。。。。。。
页:
[1]