一个TRZcheckbox的BUG的,求解,郁闷,该怎么解决
一个TRZcheckbox的BUG的,求解,郁闷
if RZChk_15.Checked then RZChk_21.Checked :=true
else
RZChk_21.Checked :=False ;
我上面这样写的结果是两个checkbox的状态相反,很郁闷,不知道为什么,求解
------解决方案--------------------
RZChk_15与RZChk21是不是2选1 ?
应该是RZChk_21和RZChk_15的Click事件,都设置了对方的状态
------解决方案--------------------
不带这么玩的。打了半天字回复时没了。。。
用这段代码延迟改变另一个复选框的值。排除一下当前复选框事件激活时其值未更新的可能。
我没装你说的那套控件,用普通控件代替了。你改一下在测试吧
if RZChk_15.Checked then RZChk_21.Checked :=true
else
RZChk_21.Checked :=False ;
我上面这样写的结果是两个checkbox的状态相反,很郁闷,不知道为什么,求解
------解决方案--------------------
RZChk_15与RZChk21是不是2选1 ?
应该是RZChk_21和RZChk_15的Click事件,都设置了对方的状态
------解决方案--------------------
不带这么玩的。打了半天字回复时没了。。。
用这段代码延迟改变另一个复选框的值。排除一下当前复选框事件激活时其值未更新的可能。
我没装你说的那套控件,用普通控件代替了。你改一下在测试吧
- Delphi(Pascal) code
unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm2 = class(TForm) chk1: TCheckBox; chk2: TCheckBox; tmr1: TTimer; tmr2: TTimer; procedure FormCreate(Sender: TObject); procedure chk1Click(Sender: TObject); procedure chk2Click(Sender: TObject); procedure tmr1Timer(Sender: TObject); procedure tmr2Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation {$R *.dfm} procedure TForm2.chk1Click(Sender: TObject); begin tmr1.Enabled := True; end; procedure TForm2.chk2Click(Sender: TObject); begin tmr2.Enabled := True; end; procedure TForm2.FormCreate(Sender: TObject); begin tmr1.Enabled := False; tmr2.Enabled := False; tmr1.Interval := 5000; tmr2.Interval := 5000; end; procedure TForm2.tmr1Timer(Sender: TObject); begin chk2.Checked := chk1.Checked; tmr1.Enabled := False; end; procedure TForm2.tmr2Timer(Sender: TObject); begin chk1.Checked := chk2.Checked; tmr2.Enabled := False; end; end.