我目前正在使用 Visual studio 2008 使用 C# 开发一个小型 Windows 窗体项目。
我已向项目添加了一个自定义类,但在该类中我无法访问表单控件(如列表框、文本框、按钮)以便以编程方式更改其属性。
该类文件包含 using system.windows.forms,并且所有文件都位于同一命名空间中。
令人惊讶的是,我也无法访问 form1 类本身中的控件,除非我在类中创建一个方法,然后智能感知弹出各种控件的名称。
然而,在自定义类中,智能感知根本不显示控件的名称。
如果有人能解释为什么会发生这种情况,我将不胜感激。
Thanks
封装意味着你单独的类不应该直接与控件对话。相反,您应该在(外部)公开属性和方法Control
- 例如:
public string TitleText {
get {return titleLbl.Text;}
set {titleLbl.Text = value;}
}
对于更复杂的操作,最好使用方法;属性适用于离散值的简单读/写。
这提供了多种优点:
- 如果需要,您可以将详细信息抽象为接口(或类似接口)
- 您可以更改实现(例如,使用表单的文本作为标题),而无需更改调用代码
- 它只是......更好;-p
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)