C#中创建自己的控件
来源:互联网 发布:长期服用知柏地黄丸 编辑:程序博客网 时间:2024/05/13 10:18
用户控件提供了一种创建和重用自定义图形界面的方法。用户控件本质上是具有可视化表示形式的组件。因此,它可能包含一个或多个 Windows 窗体控件、组件或代码块,它们能够通过验证用户输入、修改显示属性或执行作者所需的其他任务来扩展功能。可以按照与其他控件相同的方式,将用户控件置于 Windows 窗体中。在本演练的第一部分,创建一个名为 ctlClock 的简单用户控件。在本演练的第二部分通过继承扩展 ctlClock 的功能。
创建项目
创建新的项目时应指定其名称,以设置根命名空间、程序集名称和项目名称,并确保默认组件将位于正确的命名空间中。
创建 ctlClockLib 控件库和 ctlClock 控件
- 在“文件”菜单上,指向“新建”,然后选择“项目”以打开“新建项目”对话框。
- 从“C# 项目”列表中选择“Windows 控件库”项目模板,然后在“名称”框中键入 ctlClockLib。
注意 “Windows 控件库”模板在 Visual C# .NET 的标准版中不可用。有关更多信息,请参见 Visual C# 标准版的功能。
默认情况下,项目名称 ctlClockLib 也被分配到根命名空间中。根命名空间用于限定程序集中的组件名。例如,如果两个程序集都提供名为 ctlClock 的组件,则可以使用
ctlClockLib.ctlClock
指定 ctlClock 组件。在解决方案资源管理器中,右击“UserControl1”并从快捷菜单中选择“查看代码”。 - 找到 Class 语句
public class UserControl1
,将 UserControl1 更改为 ctlClock 以更改组件的名称。注意 默认情况下,用户控件从系统提供的 UserControl 类继承。UserControl 类提供所有用户控件要求的功能,并实现标准方法和属性。
- 找到构造函数 public UserControl1(),将 UserControl1 更改为 ctlClock。
- 在解决方案资源管理器中,单击“UserControl1”,然后在“属性”窗口中,将 FileName 属性更改为 ctlClock.cs。
- 从“文件”菜单中,选择“全部保存”来保存项目。
将 Windows 控件和组件添加到用户控件
可视化界面是用户控件的基本部分。这种可视化界面是通过将一个或多个 Windows 控件添加到“用户控件设计器”中实现的。在下面的演示中,将向用户控件中加入 Windows 控件,并编写代码以实现功能。
将标签和计时器添加到用户控件中
- 在解决方案资源管理器中,右击“ctlClock.cs”,然后选择“视图设计器”。
- 在工具箱中,单击“Windows 窗体”选项卡,然后双击 label。
名为 label1 的标签控件被添加到用户控件设计器上的控件中。
- 在设计器中,单击 label1。在“属性”窗口中,设置下列属性。
属性 设置 NamelblAlarmTextAlarm!TextAlignMiddle CenterVisiblefalse 在“工具箱”中,单击“Windows 窗体”,然后双击“计时器”。
因为计时器是个组件,所以它在运行时没有可视化的表示形式。因此,它不与其他控件一起出现在“用户控件设计器”上,而是出现在组件栏中。
- 在组件栏中,单击 timer1,并将 Interval 属性设置为 1000,将 Enabled 属性设置为 true。
Interval 属性控制计时器组件的刻度频率。timer1 每走过一个刻度,它都会运行一次 Timer1_Tick 事件中的代码。interval 表示前后两次刻度之间的毫秒数。
- 在组件栏中,双击 timer1 以转到 ctlClock 的 timer1_Tick 事件。
- 将该代码修改为类似如下所示的代码示例。请确保将访问修饰符从 private 更改为 protected:
- 从“文件”菜单中,选择“全部保存”来保存项目。
将属性添加到用户控件中
现在,clock 控件封装了 Label 控件和 Timer 组件,每个都有其自己的继承属性组。尽管您的控件的后续用户无法访问这些控件的个别属性,但可以通过编写适当的代码块来创建和公开自定义属性。在下面的章节中,您将向控件中添加属性,这些属性使用户能够更改背景和文本的颜色。
将属性添加到用户控件中
- 在解决方案资源管理器中,右击“ctlClock.cs”,然后从快捷菜单中单击“查看代码”。
控件的代码编辑器打开。
- 找到 public class ctlClock 语句。在开始的 { 后面,键入:
- 在步骤 2 中的变量声明下方键入以下代码:
- 从“文件”菜单中,选择“全部保存”来保存项目。
控件不是独立的应用程序,它们必须寄宿在容器中。为了测试控件,必须提供一个在其中运行该控件的测试项目。在本节中,将生成控件并在 Windows 窗体中测试它。
生成控件
- 在“生成”菜单上单击“生成”。
创建测试项目
- 在“文件”菜单上,指向“添加项目”,然后单击“新建项目”以打开“添加新项目”窗口。
- 单击“Windows 应用程序”,然后在“名称”框中,键入 Test。
- 在解决方案资源管理器中,右击测试项目的“引用”节点。单击“添加引用”,显示“添加引用”对话框。
- 单击标记为“项目”的选项卡。用户控件项目将在“项目名称”下列出。
- 双击您的项目。
注意,此时该项目显示在“选定的组件”窗口中。
在添加引用之后,可以将控件置于您的窗体中。
测试控件
- 在“工具箱”中,单击“我的用户控件”,然后向下滚动,直到显示表示 ctlClock 的控件图标为止。
- 双击 ctlClock 图标。
现在,您的控件的副本被添加到窗体中。请注意,它显示当前时间,并且每秒更新一次。
- 在工具箱中,选择该图标,然后将鼠标移动到您的窗体上。
- 按住鼠标左键,同时在窗体上移动鼠标。
控件的另一个副本被拖放到窗体上。可以根据需要将任意数目的计时器副本添加到您的窗体上。
- 在设计器中,单击 ctlClock 的实例之一。
该实例的属性显示在“属性”窗口中。
- 在“属性”窗口中,找到 ClockBackColor 属性,然后选择属性以显示调色板。
- 通过单击某个颜色来选择它。
控件的背景颜色更改为您选择的颜色。
- 使用类似的事件序列来验证 ClockForeColor 属性的功能是否与预期的一样。
- C#中创建自己的控件
- 创建自己的控件
- 用C#和microsoft webbrowser控件创建自己的ie
- 用C#和microsoft webbrowser控件创建自己的ie
- 关于在storyboard中使用自己创建的控件
- C# winfrom 中自定义的翻页控件(自己设计)
- c# 在 ComboBox 控件中创建大小可变的文本
- C#用户控件的创建
- MainActivity中为什么不能在自己创建的线程中调用控件的方法?
- 利用WebBrowser控件创建自己的浏览器
- 创建自己的ActiveX控件(vb)
- 利用WebBrowser控件创建自己的浏览器
- 利用WebBrowser控件创建自己的浏览器
- 利用WebBrowser控件创建自己的浏览器
- 利用WebBrowser控件创建自己的浏览器
- storyboard怎么使用自己创建的控件
- 在C#中创建自定义控件
- 在C#中创建自定义控件
- 说明
- CMYK颜色模式
- 常用口语
- linux增加汉语支持
- 最怕的就是死
- C#中创建自己的控件
- JS内存释放问题
- SQL Cursor DB2
- 3G应用---windows mobile和symbian平台下rtsp流媒体播放器
- ubuntu下支持ibus中文输入的笔记软件Xournal
- Spring学习笔记3——AOP
- VC---Wa t c h 窗口使用
- 一些数据连接:What I have done in the past year:my old code "DataSet"
- C宏定义使用