【问题标题】:Windows Forms Designer, Rationale behind Design > GenerateMemberWindows 窗体设计器,设计背后的基本原理 > GenerateMember
【发布时间】:2015-12-04 23:50:28
【问题描述】:

在 Visual Studio 中,在处理 Windows 窗体应用程序时,可以在窗体设计视图中找到某个选项。我说的是GenerateMember 选项(在属性窗口的Design 部分下)。

该选项的说明如下:

表示是否会为此组件生成成员变量。

所以,如果我使用表单设计器在我的表单 f1 中创建一个文本框 tb1 并将此选项设置为 false,那么我无法访问代码中的控件(f1.tb1tb1 都不存在)。

应该有一个很好的理由这样做,但我不知道这个原因可能是什么,这就是我问的原因:

  • Design > GenerateMember 选项背后的基本原理是什么?
  • 将此选项设置为 false 可以实现哪些在设置为 true 时无法实现的事情?
  • 在什么情况下,我应该隐藏控制设置GenerateMember 为 false,而不是让它具有默认值 (true)?

谢谢。

【问题讨论】:

标签: c# visual-studio windows-forms-designer


【解决方案1】:

GenerateMember 设置为false 时,不是将许多私有字段限定为Form 类实例,而是在InitializeComponent() 方法的范围内创建它们——这意味着您将不再拥有this.btnOkthis.btnCancel 可访问表单中的任何内容。

我认为这在很大程度上只是个人喜好。通过指定您希望哪些控件作为私有字段直接显示给表单类的其余部分,您可以避免在修改代码时迷失在大量未使用的字段中。

除此之外,没有真正的功能差异。您仍然可以通过以下方式访问控件:this.Controls 集合。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 2013-05-05
    • 2023-03-12
    • 1970-01-01
    相关资源
    最近更新 更多