procedure TForm1.CheckBoxClick(Sender: TObject);
begin
CheckBox.OnClick := nil;
CheckBox1.OnClick := nil;
CheckBox2.OnClick := nil;
CheckBox3.OnClick := nil;
if Sender = CheckBox then
begin
CheckBox1.Checked := CheckBox.Checked;
CheckBox2.Checked := CheckBox.Checked;
CheckBox3.Checked := CheckBox.Checked;
end
else
begin
CheckBox.Checked := CheckBox1.Checked and CheckBox2.Checked and CheckBox3.Checked;
end;
CheckBox.OnClick := CheckBox1Click;
CheckBox1.OnClick := CheckBox1Click;
CheckBox2.OnClick := CheckBox1Click;
CheckBox3.OnClick := CheckBox1Click;
end;
如何是关联了数据库 则不能使用上面这种写法。 直接修改数据集所对应的字段内容就可以
procedure TRZLCEditForm.TYRYCbxClick(Sender: TObject);
begin
inherited;
BTYRYCbx.OnClick := nil;
//BTYRYCbx.Checked := not TYRYCbx.Checked; 这样的写法,有的时候数据集会保存不进去的。
dsMaster.DataSet.FieldByName('BTYRY').AsBoolean := not TYRYCbx.Checked;
BTYRYCbx.OnClick := BTYRYCbxClick;
end;
procedure TRZLCEditForm.BTYRYCbxClick(Sender: TObject);
begin
inherited;
TYRYCbx.OnClick := nil;
//TYRYCbx.Checked := not BTYRYCbx.Checked; 这样的写法,有的时候数据集会保存不进去的。
dsMaster.DataSet.FieldByName('TYRY').AsBoolean := not BTYRYCbx.Checked;
TYRYCbx.OnClick := TYRYCbxClick;
end;