[英]Selecting another radio button inside OnClick event
我有两个单选按钮rdoA和rdoB。 我的要求是,每当用户单击rdoA时,我都必须检查某些参数,如果不满意,请将选择还原为rdoB。 我有这样的代码
MyForm.rdoAClick
var
Save: TNotifyEvent;
begin
if //some condition then
begin
Save := rdoB.OnClick;
rdoB.OnClick := nil;
rdoB.Checked := true;
rdoB.OnClick := Save;
Exit;
End;
//Other stuff
End;
问题是此代码有效,但是在某些情况下,当已经选择rdoB时,如果将其更改为rdoA,并且条件满足rdoB的情况又被选择,并且如果我切换窗口的焦点并返回到形式rdoAClick事件,则是这样再次触发。
我在这里做错了什么? 有没有更好的方法来解决这个问题? 任何帮助将不胜感激。
我曾经遇到过类似的问题,并且发现解决方案要适应您的代码
procedure TForm6.rdoAClick(Sender: TObject);
var
save: TNotifyEvent;
begin
if MessageDlg('Allow change?',mtConfirmation, [mbYes,mbNo],0) = mrNo then
begin
save := rdoB.OnClick;
rdoB.OnClick := nil;
rdoB.SetFocus;
// rdoB.Checked := True;
rdoB.OnClick := save;
end;
end;
设置焦点而不是“已检查”(由于设置了“焦点”而已设置),以确保RadioButton处于正确的内部状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.