c# - "Control.Site"属性是什么?

标签 c# winforms controls

在 Windows 窗体应用程序中,System.Windows.Forms 库中的控件有一个名为 Site 的属性. 此属性在控件中的作用是什么?

最佳答案

Site 属性继承自 Component,与 ControlParent 属性非常相似.

ParentSite的主要区别在于Parent的值只能是一个Control,而 Site 可以分配一个非可视容器。

Component 基类用于 Winforms 设计器工具箱中的那些非可视化工具。例如,可以将 System.Windows.Forms.Timer 拖到 Form 上。 PropertyGrid 可用于设置其属性和分配事件处理程序,所有这些都由设计人员完成,无需编写一行代码。

System.ComponentModel 类背后的想法是为软件库提供 API,以利用 IDE(例如 Visual Studio)的设计时功能。它迎合了RAD (Rapid Application Development)通用或通用组件将利用 API 的概念。例如 expose extra information about a property在属性网格的底部,甚至创建完整的 custom editors .

如果您想深入了解内部结构,可以查看 Programming with Components ,或者如果你想要快速概览,我想 Class vs. Component vs. Control可能是一个很好的起点。

关于c# - "Control.Site"属性是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30317908/

相关文章:

c# - 从 C# Web 应用程序中的网络共享访问文件

c# - 在不锁定文件的情况下在 Winforms 中显示动画 gif

c# - 在 Silverlight 中检测控件的焦点

c# - "Object reference not set..."向另一个窗体添加控件时出现异常

c# - .Net PropertyGrid DropDownList - 返回值不同于显示值

c# - 在 R* Tree 中插入新叶子

c# - 具有泛型参数的扩展方法到泛型类

c# - 隐藏表单上的最小化和最大化按钮而不隐藏标题

WinForms float 窗口(如Delphi7 IDE)

.net - 数据绑定(bind)到实现 IEnumerable 的对象的属性