delphi – 如何使用SENDER优化此代码?

delphi – 如何使用SENDER优化此代码?,第1张

概述我有一个包含16个TCheckBox和32个TEditBox的表单. 每2个TEditBox能力取决于checkBox状态. 所以我使用的代码太长了: //T1procedure TOFAddForm.T1Click(Sender: TObject); begin Q1.Enabled:=T1.Checked; P1.Enabled:=T1.Checked; Q 我有一个包含16个TCheckBox和32个TEditBox的表单.
每2个TEditBox能力取决于checkBox状态.
所以我使用的代码太长了:

//T1procedure TOFAddForm.T1Click(Sender: TObject); begin     Q1.Enabled:=T1.Checked;     P1.Enabled:=T1.Checked;      Q1.OnChange(Sender);end;.  ..//T16procedure TOFAddForm.T16Click(Sender: TObject); begin     Q16.Enabled:=T16.Checked;     P16.Enabled:=T16.Checked;     Q1.OnChange(Sender);end;`

我使用了这段代码但没有任何反应:

procedure TOFAddForm.T1Click(Sender: TObject);var Q,P: TEdit;begin     with  Sender as TCheckBox do begin           Q.@R_419_6889@:='Q'+copy(@R_419_6889@,1,2);           P.@R_419_6889@:='P'+copy(@R_419_6889@,2);           Q.Enabled:=Checked;           P.Enabled:=Checked;     end;     Q1.OnChange(Sender);end;

谢谢.

解决方法 如果所有复选框和编辑都一致命名,则可以将此OnClick事件添加到所有复选框:

procedure TOFAddForm.TClick(Sender: TObject);var   C: TCheckBox;  Q,P: TEdit;  N: string;begin  C := Sender as TCheckBox;  N := copy(C.@R_419_6889@,2,Length(C.@R_419_6889@));  Q := FindComponent('Q' + N) as TEdit;  P := FindComponent('P' + N) as TEdit;  Q.Enabled := C.Checked;  P.Enabled := C.Checked;  Q.OnChange(Sender);end;
总结

以上是内存溢出为你收集整理的delphi – 如何使用SENDER优化此代码?全部内容,希望文章能够帮你解决delphi – 如何使用SENDER优化此代码?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1223639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存