gpt4 book ai didi

delphi - 访问子 GUI 属性标准

转载 作者:行者123 更新时间:2023-12-03 18:37:57 24 4
gpt4 key购买 nike

我想知道访问子组件控件属性的标准是什么。

例如,我有我的主窗体,它创建了一个带有标签的子窗口。使用 Delphi 可以只执行 ChildForm.Label.Caption := 'text',但是由于某些未知原因,这对我来说感觉不对。设置文本的另一种方法是为 ChildForm 设置一个属性,该属性在设置时调用更新标签标题的方法。

有什么理由为什么我应该以一种或另一种方式做这件事吗?

最佳答案

想到了四种可能性:

  • a: 直接访问子窗体的组件和它们的属性,如
    你建议
    ChildForm.Label.Caption := 'text',

  • 加号 : 快捷方便。 :您的子窗体的“内部”不必要地暴露于外部世界,因此您的调用代码可能会变得更加脆弱。
  • b:通过子窗体的新发布属性访问
    ChildForm.LabelCaption := 'text',

  • 加号 :如果您希望能够通过 IDE 表单设计器轻松设置属性,这很有用。更好地封装上面的“a”。 : 可能是我最不喜欢的方法,但我无法准确解释原因。属性很强大,但所有在幕后发生的事情让我有点担心
  • c: 通过子表单设置方法访问
    ChildForm.SetCaption('text')

  • 加号 :比 B 更简单,但具有相同改进的封装,并且(在我看来)感觉稍微干净一些。
  • d:对于设置,通过附加的构造函数参数访问

  • 在许多情况下,您只是希望能够在创建表单时稍微自定义它。在这种情况下,向构造函数添加参数是最简单的方法。它使您不必担心属性的“可读”性质,并且标题在创建表单时变得固定(就外界而言),这可能会有所帮助。
    FormChild := TChildForm.Create(nil, 'test');

    加号:省去额外属性或方法的麻烦。 减号:并非在所有情况下都适用。

    关于delphi - 访问子 GUI 属性标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11892618/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com