You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何访问窗体中Frame上的CheckBox组件?

访问Delphi窗体中Frame上的CheckBox组件

要访问窗体里Frame上的CheckBox,得按层级查找——先找到窗体,再找到对应的Frame实例,最后在Frame里找CheckBox,不能直接跨层级从窗体找Frame上的控件。

你的错误在于Form.FindComponent(TestFrame.CheckBox)的写法:一是FindComponent需要传入组件的名称字符串(不是类成员引用),二是窗体的直接子组件是Frame,Frame上的CheckBox属于Frame的子组件,窗体的FindComponent无法直接查到它。

正确步骤如下:

  • 第一步,获取目标窗体(和你之前的写法一致):
    Form := Application.FindComponent('frm1') as TForm;
    
  • 第二步,从窗体中找到Frame实例,注意这里要传入Frame在窗体上的实际名称(比如你的Frame组件在窗体上命名为TestFrame1,就传这个字符串),还要转换成对应的Frame类:
    Frame := Form.FindComponent('TestFrame1') as TTestFrame;
    
  • 第三步,从Frame实例中找到CheckBox组件,同样传入CheckBox在Frame上的名称字符串:
    CheckBox := Frame.FindComponent('CheckBox1') as TCheckBox;
    
  • 最后设置CheckBox状态:
    CheckBox.Checked := True;
    

如果不确定组件的名称,可以在设计时查看控件的Name属性——这是FindComponent唯一能识别的标识。

内容的提问来源于stack exchange,提问作者James Brown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:12:05