Delphi Rio 10.3.2
With the TToggleSwitch component, when you manually change the State property, i.e
ToggleSwitch1.State := tssOff 
the OnClick event is called. How can I prevent this?
Delphi Rio 10.3.2
With the TToggleSwitch component, when you manually change the State property, i.e
ToggleSwitch1.State := tssOff 
the OnClick event is called. How can I prevent this?
 
    
    You have a few choices:
set the OnClick property to nil before setting the State, then restore the event handler afterwards.
ToggleSwitch1.OnClick := nil;
try
  ToggleSwitch1.State := ...;
finally
  ToggleSwitch1.OnClick := ToggleSwitch1Click;
end;
set a flag before setting the State, then clear the flag afterwards, and have the OnClick event handler check the flag before doing anything.
ToggleSwitch1.Tag := 1;
try
  ToggleSwitch1.State := ...;
finally
  ToggleSwitch1.Tag := 0;
end;
procedure TMyForm.ToggleSwitch1Click(Sender: TObject);
begin
  if ToggleSwitch1.Tag <> 0 then Exit;
  ...
end;
use an accessor class to reach the protected FClicksDisabled member so you can temporarily set it to True while changing the State:
type
  TToggleSwitchAccess = class(TToggleSwitch)
  end;
TToggleSwitchAccess(ToggleSwitch1).FClicksDisabled := True;
try
  ToggleSwitch1.State := ...;
finally
  TToggleSwitchAccess(ToggleSwitch1).FClicksDisabled := False;
end;
