半夜2点失眠,继续写博客。。。。。
例子如下:
procedure TForm4.btn1Click(Sender: TObject);
begin
CheckBox1.Checked := True;
ToggleSwitch1.State := tssOn;
end;
procedure TForm4.btn2Click(Sender: TObject);
begin
CheckBox1.Checked := false;
ToggleSwitch1.State := tssOff;
end;
procedure TForm4.CheckBox1Click(Sender: TObject);
begin
ShowMessage('check box on click');
end;
procedure TForm4.ToggleSwitch1Click(Sender: TObject);
begin
ShowMessage('ToggleSwitch box on click');
end;
可以看到通过代码,让其选中 或 取消选中 都会触发它的 onclick事件,这样很不好,容易导致 循环,我们只是想简单的 通过代码让其选中,而不是 出发它的 onclicck,可以把onclick的代码 放到其 onmouseup上去,这样就简单的 解决了这个问题;
procedure TForm4.CheckBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
// on click 的逻辑 放到 onmouseup里,不影响 onclick的效果,达到代码里可以直接设置的目的
ShowMessage('check box on click');
end;
procedure TForm4.ToggleSwitch1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
// on click 的逻辑 放到 onmouseup里
ShowMessage('ToggleSwitch box on click');
end;
这样就解决了这个问题;
本文来自博客园,作者:del88,转载请注明原文链接:https://www.cnblogs.com/del88/p/18521556
分类:
TCheckbox
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2012-11-02 SQL SEERVER 各个版本 功能包---各个版本 sqlncli下载方法