gpt4 book ai didi

c# - 无法访问类中的 Winforms 控件

转载 作者:行者123 更新时间:2023-11-30 13:43:11 27 4
gpt4 key购买 nike

我目前正在使用 Visual Studio 2008 使用 C# 开发一个小型 Windows 窗体项目。我已将自定义类添加到项目中,但在此类中我无法访问表单控件(如列表框、文本框、按钮)以编程方式更改它们的属性。

类文件包含 using system.windows.forms 并且所有文件都在同一个命名空间中。令人惊讶的是,我也无法访问 form1 类本身中的控件,除非我在该类中创建一个方法,然后 intellisense 弹出各种控件的名称。

然而,在自定义类中,智能感知根本不显示控件的名称。

如果有人能阐明为什么会发生这种情况,我们将不胜感激。

谢谢

最佳答案

封装意味着您的单独类不应该直接与控件对话。相反,您应该在(外部)Control 上公开属性和方法 - 例如:

public string TitleText {
get {return titleLbl.Text;}
set {titleLbl.Text = value;}
}

对于更复杂的操作,最好使用方法;属性对于离散值的简单读/写很好。

这提供了各种优势:

  • 如果需要,您可以将细节抽象为接口(interface)(或类似接口(interface))
  • 您可以在不更改调用代码的情况下更改实现(例如,使用表单的文本作为标题)
  • 它只是...更好 ;-p

关于c# - 无法访问类中的 Winforms 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/728852/

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