预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

演练:使用VisualC#创作用户控件 VisualStudio.NET2003 用户控件提供了一种创建和重用自定义图形界面的方法。用户控件本质上是具有可视化表示形式的组件。因此,它可能包含一个或多个Windows窗体控件、组件或代码块,它们能够通过验证用户输入、修改显示属性或执行作者所需的其他任务来扩展功能。可以按照与其他控件相同的方式,将用户控件置于Windows窗体中。在本演练的第一部分,创建一个名为ctlClock的简单用户控件。在本演练的第二部分通过继承扩展ctlClock的功能。 创建项目 创建新的项目时应指定其名称,以设置根命名空间、程序集名称和项目名称,并确保默认组件将位于正确的命名空间中。 创建ctlClockLib控件库和ctlClock控件 在“文件”菜单上,指向“新建”,然后选择“项目”以打开“新建项目”对话框。 从“C#项目”列表中选择“Windows控件库”项目模板,然后在“名称”框中键入ctlClockLib。 注意“Windows控件库”模板在VisualC#.NET的标准版中不可用。有关更多信息,请参见HYPERLINK"http://msdn.microsoft.com/zh-cn/library/aa287477.aspx"VisualC#标准版的功能。 默认情况下,项目名称ctlClockLib也被分配到根命名空间中。根命名空间用于限定程序集中的组件名。例如,如果两个程序集都提供名为ctlClock的组件,则可以使用ctlClockLib.ctlClock指定ctlClock组件。在解决方案资源管理器中,右击“UserControl1”并从快捷菜单中选择“查看代码”。 找到Class语句publicclassUserControl1,将UserControl1更改为ctlClock以更改组件的名称。 注意默认情况下,用户控件从系统提供的UserControl类继承。UserControl类提供所有用户控件要求的功能,并实现标准方法和属性。 找到构造函数publicUserControl1(),将UserControl1更改为ctlClock。 在解决方案资源管理器中,单击“UserControl1”,然后在“属性”窗口中,将FileName属性更改为ctlClock.cs。 从“文件”菜单中,选择“全部保存”来保存项目。 将Windows控件和组件添加到用户控件 可视化界面是用户控件的基本部分。这种可视化界面是通过将一个或多个Windows控件添加到“用户控件设计器”中实现的。在下面的演示中,将向用户控件中加入Windows控件,并编写代码以实现功能。 将标签和计时器添加到用户控件中 在解决方案资源管理器中,右击“ctlClock.cs”,然后选择“视图设计器”。 在工具箱中,单击“Windows窗体”选项卡,然后双击label。 名为label1的标签控件被添加到用户控件设计器上的控件中。 在设计器中,单击label1。在“属性”窗口中,设置下列属性。 属性更改为NamelblDisplayText(空白)TextAlignMiddleCenterFont.Size14在“工具箱”中,单击“Windows窗体”,然后双击“计时器”。 因为计时器是个组件,所以它在运行时没有可视化的表示形式。因此,它不与其他控件一起出现在“用户控件设计器”上,而是出现在组件栏中。 在组件栏中,单击timer1,并将Interval属性设置为1000,将Enabled属性设置为true。 Interval属性控制计时器组件的刻度频率。timer1每走过一个刻度,它都会运行一次Timer1_Tick事件中的代码。interval表示前后两次刻度之间的毫秒数。 在组件栏中,双击timer1以转到ctlClock的timer1_Tick事件。 将该代码修改为类似如下所示的代码示例。请确保将访问修饰符从private更改为protected: HYPERLINK"javascript:void(0)"\o"复制到剪贴板。"复制 protectedvoidtimer1_Tick(objectsender,System.EventArgse) { //Causesthelabeltodisplaythecurrenttime lblDisplay.Text=DateTime.Now.ToLongTimeString(); } 这些代码将使得当前时间显示在lblDisplay中。因为timer1的间隔设置为1000,所以该事件每隔1000毫秒激发一次,从而每隔一秒就更新一次当前时间。 用virtual关键字修改该方法使其可重写。有关更多信息,请参见本主题的下一节“从用户控件继承”。 HYPERLINK"ja