读书人

一个TRZcheckbox的BUG的求解郁闷,

发布时间: 2012-02-12 17:16:33 作者: rapoo

一个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事件,都设置了对方的状态
[解决办法]
不带这么玩的。打了半天字回复时没了。。。
用这段代码延迟改变另一个复选框的值。排除一下当前复选框事件激活时其值未更新的可能。
我没装你说的那套控件,用普通控件代替了。你改一下在测试吧

Delphi(Pascal) code
unit Unit2;interfaceuses  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. 

读书人网 >.NET

热点推荐