以编程方式设置TSwitch的IsChecked属性时,会调用OnSwitch事件。怎么避免这个?我想只在用户交互的情况下调用OnSwitch事件,当用户通过单击切换控件时。
答案 0 :(得分:2)
使用OnSwitch = Switch1Switch()
和以下按钮OnClick
只是模拟程序化更改,您可以执行以下操作:
procedure TForm29.Button1Click(Sender: TObject);
begin
Switch1.OnSwitch := nil;
Switch1.IsChecked := not Switch1.IsChecked;
Switch1.OnSwitch := Switch1Switch;
end;
这会更改交换机的状态并在用户翻转交换机时触发OnSwitch
,但不会在以编程方式更改状态时触发。