在Firemonkey中避免使用TSwitch的OnSwitch事件

时间:2017-01-19 10:06:23

标签: android delphi firemonkey

以编程方式设置TSwitch的IsChecked属性时,会调用OnSwitch事件。怎么避免这个?我想只在用户交互的情况下调用OnSwitch事件,当用户通过单击切换控件时。

1 个答案:

答案 0 :(得分:2)

使用OnSwitch = Switch1Switch()和以下按钮OnClick只是模拟程序化更改,您可以执行以下操作:

procedure TForm29.Button1Click(Sender: TObject);
begin
  Switch1.OnSwitch := nil;
  Switch1.IsChecked := not Switch1.IsChecked;
  Switch1.OnSwitch := Switch1Switch;
end;

这会更改交换机的状态并在用户翻转交换机时触发OnSwitch,但不会在以编程方式更改状态时触发。