在Visual Studio中,在Windows窗体应用程序上工作时,可以在"窗体设计视图"中找到某个选项.我在谈论GenerateMember
选项(在Design
属性窗口的部分下).
此选项的说明如下:
指示是否将为此组件生成成员变量.
因此,如果我tb1
使用Form Dessigner 创建一个文本框到我的表单中f1
并将此选项设置为false
,则我无法访问代码中的控件(既不存在f1.tb1
也不tb1
存在).
应该有充分的理由这样做,但我不知道这个原因是什么,这就是我要问的原因:
什么是Design
> GenerateMember
选项背后的基本原理?
可以实现什么可以将此选项设置为false,而无法使用true实现?
在什么情况下我应该保持将控件设置隐藏GenerateMember
为false而不是让它具有默认值(true)?
谢谢.
如果GenerateMember
设置为false
,则不是将大量私有字段限定为Form类实例,而是将它们作为InitializeComponent()
方法创建范围- 这意味着您将不再拥有this.btnOk
或this.btnCancel
访问表单中的任何内容.
我认为这在很大程度上只是个人偏好.通过指定哪些控件直接显示为表单类其余部分的私有字段,可以避免在修改代码时迷失在未使用的字段中.
除此之外,没有真正的功能差异.您仍然可以通过:this.Controls
collection 访问控件.