Windows Forms Designer,设计背后的基本原理 > GenerateMember

Windows Forms Designer, Rationale behind Design > GenerateMember

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

这个选项的说明如下:

Indicates if a member variable will be generated for this component.

因此,如果我使用表单设计器在我的表单中创建文本框 tb1 f1我将此选项设置为 false,然后我无法访问代码中的控件(f1.tb1tb1存在)。

这样做应该有一个很好的理由,但我不知道这个理由是什么,所以我才问:

谢谢。

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

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

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