C# 自定义控件容器,设计时可添加控件
2014-01-15 16:25
411 查看
本分步指南介绍在将 UserControl 放在 Windows 窗体上之后,如何将 UserControl 对象用作设计时控件容器。可能会有这样的情况:您想将一个控件拖到 UserControl 中。为做到这一点, UserControl 必须用作控件容器。
designerTypeName 是提供设计时服务的设计器类型的完全合格的名称。传递 designerTypeName 参数的System.Windows.Forms.Design.ParentControlDesigner 和 System.Design 的组合。ParentControlDesigner 类扩展了UserControl 的设计时行为。
designerBaseType 是设计器的基类的名称。用于设计时服务的类必须实现 IDesigner 接口。
启动 Visual Studio .NET。
在“文件”菜单上,指向“新建”,然后单击“项目”。
在“项目类型”下,单击 “Visual C# 项目”,然后单击“模板”下的 “Windows 控件库”。
将该项目命名为 ContainerUserControl。默认情况下将创建出 “UserControl1.cs”。
在解决方案资源管理器中,右键单击 “UserControl1.cs”,然后单击“查看代码”。
将下面的代码添加到 Declarations 部分:
如下所示将 System.ComponentModel.DesignerAttribute 属性应用到该控件:
在“生成”菜单上,单击“生成解决方案”。
启动 Visual Studio .NET。
在“文件”菜单上,指向“新建”,然后单击“项目”。
在“项目类型”下,单击 “Visual C# 项目”,然后单击“模板”下的 “Windows 应用程序”。默认情况下将创建出 “Form1.cs”。
将 “UserControl1” 从工具箱(在“Windows 窗体”下)拖到 “Form1.cs”。
将一个按钮控件从工具箱拖到 “UserControl1”。
您会注意到 “UserControl1” 起到了按钮控件的控件容器的作用。
回到顶端 | 提供反馈
概述
默认情况下,UserControl 对象只有在您创建它时才可以用作控件容器。在将 UserControl 放在 Windows 窗体上之后,为让UserControl 承载构成控件,您必须更改 UserControl 的默认设计器。如要为一个组件实现设计时服务,请使用System.ComponentModel 名称空间的 DesignerAttribute 类。DesignerAttribute 出现在类声明前面。通过传递designerTypeName 和 DesignerAttribute 参数初始化 designerTypeName。designerTypeName 是提供设计时服务的设计器类型的完全合格的名称。传递 designerTypeName 参数的System.Windows.Forms.Design.ParentControlDesigner 和 System.Design 的组合。ParentControlDesigner 类扩展了UserControl 的设计时行为。
designerBaseType 是设计器的基类的名称。用于设计时服务的类必须实现 IDesigner 接口。
将 UserControl 创建为设计时控件容器
创建一个新的 Visual C# .NET Windows 控件库项目。为此,请按照下列步骤操作:启动 Visual Studio .NET。
在“文件”菜单上,指向“新建”,然后单击“项目”。
在“项目类型”下,单击 “Visual C# 项目”,然后单击“模板”下的 “Windows 控件库”。
将该项目命名为 ContainerUserControl。默认情况下将创建出 “UserControl1.cs”。
在解决方案资源管理器中,右键单击 “UserControl1.cs”,然后单击“查看代码”。
将下面的代码添加到 Declarations 部分:
using System.ComponentModel.Design;
如下所示将 System.ComponentModel.DesignerAttribute 属性应用到该控件:
[Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(IDesigner))] public class UserControl1 :System.Windows.Forms.UserControl { ... }
在“生成”菜单上,单击“生成解决方案”。
测试 UserControl
创建一个新的 Visual C# 项目。为此,请按照下列步骤操作:启动 Visual Studio .NET。
在“文件”菜单上,指向“新建”,然后单击“项目”。
在“项目类型”下,单击 “Visual C# 项目”,然后单击“模板”下的 “Windows 应用程序”。默认情况下将创建出 “Form1.cs”。
将 “UserControl1” 从工具箱(在“Windows 窗体”下)拖到 “Form1.cs”。
将一个按钮控件从工具箱拖到 “UserControl1”。
您会注意到 “UserControl1” 起到了按钮控件的控件容器的作用。
回到顶端 | 提供反馈
相关文章推荐
- ASP.NET 2.0服务器控件与组件开发高级编程:为自定义控件添加设计时属性
- ASP.NET自定义控件VS2012中添加失败(下列控件已成功添加到工具箱中,但未在活动设计器中启用)
- c#创建自定义控件并给控件添加事件
- C#基础系列:开发自己的窗体设计器(在容器上拖动鼠标增加控件)
- HOW TO:使用 Visual C# .NET 使 UserControl 成为设计时控件容器
- C#基础系列:开发自己的窗体设计器(在容器上拖动鼠标增加控件)
- C#在控件上有序地动态添加自定义控件
- C# WF 删除panel容器动态添加的控件
- c#创建自定义控件在winform上添加该控件属性为空白
- 使用 Visual C# .NET 使 UserControl 成为设计时控件容器
- C#为控件或自定义控件添加自定义属性,自定义事件
- C#基础系列:开发自己的窗体设计器(在容器上拖动鼠标增加控件)
- C#用继承实现自定义控件 让控件默认绑定一个事件
- 自定义控件三部曲之绘图篇(十七)——为Bitmap添加阴影并封装控件
- 使用C# + Xamarin开发Android应用-- 动态添加控件
- C#给控件动态添加事件
- VB.NET自定义控件 —— 添加控件自定义属性
- ASP.NET自定义控件组件开发 第三章 为控件添加事件 后篇
- C#winform自定义控件模拟设计时界面鼠标移动和调节大小、选中效果
- c# 控件,自定义控件问题