C
coolqiang
Unregistered / Unconfirmed
GUEST, unregistred user!
form1 Button1
form2 RadioButton1,RadioButton2,RadioButton3
BitBtn1 Kind = bkOK
BitBtn2 Kind = bkCancel
var
Form1: TForm1;
No:integer;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
case No of //No在Form1中
0: form2.radiobutton1.Checked := True;
1: form2.radiobutton2.Checked := True;
2: form2.radiobutton3.Checked := True;
end;
if form2.showmodal=mrok then
begin
if form2.radiobutton1.Checked then
No := 0
else if form2.radiobutton2.Checked then
No := 1
else
No := 2;
end;
end;
运行后测试,点击form1.Button1,form2中radiobutton1是选中的,改为选中radiobutton2
,[red]按BitBtn2[/red]返回后,再次点击form1.button1进入,是radiobutton1选中,是
正确的。如果同样的步骤,但用按下ESC(因为BitBtn2的Cancel是True,这样应该是同按下
BitBtn同一效果)来取代按BitBtn2,再次按form1.button1进入,发现确是radiobutton2选
中,结果错误!
这是怎么一回事?照理它们的效果应该完全一样啊!
form2 RadioButton1,RadioButton2,RadioButton3
BitBtn1 Kind = bkOK
BitBtn2 Kind = bkCancel
var
Form1: TForm1;
No:integer;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
case No of //No在Form1中
0: form2.radiobutton1.Checked := True;
1: form2.radiobutton2.Checked := True;
2: form2.radiobutton3.Checked := True;
end;
if form2.showmodal=mrok then
begin
if form2.radiobutton1.Checked then
No := 0
else if form2.radiobutton2.Checked then
No := 1
else
No := 2;
end;
end;
运行后测试,点击form1.Button1,form2中radiobutton1是选中的,改为选中radiobutton2
,[red]按BitBtn2[/red]返回后,再次点击form1.button1进入,是radiobutton1选中,是
正确的。如果同样的步骤,但用按下ESC(因为BitBtn2的Cancel是True,这样应该是同按下
BitBtn同一效果)来取代按BitBtn2,再次按form1.button1进入,发现确是radiobutton2选
中,结果错误!
这是怎么一回事?照理它们的效果应该完全一样啊!