【问题标题】:What is a Control Class in C#什么是 C# 中的控件类
【发布时间】:2016-10-27 13:37:29
【问题描述】:

我是 C# 的 GUI 方面的新手,我一直在对这个 C# 应用程序进行单元测试。

我一直在尝试使用一个请求Control 类型对象和bool 的类构造函数。

我一直在尝试阅读 Control 课程,但我不明白它是什么。

如果有人能简单地向我解释Control 类是什么以及它与表单的关系,我将不胜感激。

【问题讨论】:

  • 你需要一个控制类来做什么?
  • @AngeloCharl - 您可能不需要直接使用控件类,而是需要从它扩展的对象(仍然是控件类型)。
  • 所有winform控件类型(甚至Form)在某种程度上都继承自Control,因此任何具有Control参数的方法都可以接受任何类型的UI控件。那时它只是基本的多态性。
  • @AngeloCharl 控件是用户界面元素,如按钮、文本框等。在 winforms 中,Control 类是所有这些元素的“基类”。 “什么是基础班?!”你问!这将需要一些关于 C# 等语言中“继承”概念的阅读; here's an article.

标签: c# winforms user-interface


【解决方案1】:

Windows 窗体建立在对象层次结构之上。所有使用 ControlTemplate 定义其外观的 UI 控件都继承自 Control 类。在 OO 中,这种类型的父类继承称为基类。

如果您查看对象层次结构,它看起来如下

- System.Windows.Forms.Control
     -System.Windows.Forms.ScrollableControl
       -System.Windows.Forms.ContainerControl
          -System.Windows.Forms.Form

所以表单是一个控件。无论 Control 能做什么,Form 也能做到,因为它是继承的。希望它能解决您的问题。

【讨论】:

    【解决方案2】:

    来自 MSDN:

    定义控件的基类,控件是具有可视化表示的组件。

    基本上它是所有视觉组件的基类。文本框,下拉等... 它具有定义可见性、大小等的基本功能和方法。

    【讨论】:

    【解决方案3】:

    我想这实际上是很久以前的事了,为了简单起见,您可以将控件类视为包含 GUI 的所有可视元素的类。如果您需要滚动条,您只需通过实例化一个用于创建滚动条图形表示的对象来从该类继承。现在,该图形表示(滚动条或按钮...)为您提供了 UI,以实现(控制)您将如何与数据交互的业务逻辑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-25
      • 2015-05-13
      • 1970-01-01
      • 2013-05-27
      • 2017-11-03
      • 2010-11-02
      • 1970-01-01
      相关资源
      最近更新 更多