.NET Compact Framework复合控件

对复合控件的支持是.NET Compact Framework 2.0的新功能特性之一。创建复合控件就好比是在编辑控件,因为通常是通过组合Windows窗体控件来实现复合控件。复合控件由两部分组成:控件界面和控件逻辑。

 创建复合控件

创建复合控件通常是通过组合Windows窗体控件来实现,因此控件的界面设计过程类似于窗体界面设计。要创建复合控件,可以在Visual Studio 2005里选择“控件库”模板。图8-1展示了Visual Studio 2005设计环境中一个新创建的复合控件的设计时界面。

8-1所示的界面相当于窗体界面,用于定义复合控件自身的控件界面,可以根据需要改变该界面的大小。通过在该界面上拖放控件添加自定义复合控件的界面元素。图8-2演示了一个实现用户登录功能的典型自定义复合控件的设计时界面。

                image040.jpg

   8-1  空的复合控件   8-2  实现用户登录的复合控件的设计时界面

复合控件的控件界面设计,根据实际需要可以比较简单也可以很复杂;复合控件的控件逻辑,根据实际需要同样可以比较简单也可以很复杂。图8-2所示的复合控件的控件逻辑一般包括输入用户名和密码后,单击“确定“按钮判断当前系统是否允许登录、加密密码,最后通过数据库检验登录用户身份的合法性4个步骤。

添加控件属性

创建复合控件后,可以给它添加属性以获得我们要求控件具备的功能。控件属性分两种,一种是普通的控件属性(Property),只能通过编程实现对属性的设置和访问,语法如下:

control.property = value

在该语法中:

· control表示控件的名称。

· property表示控件的属性。

· value表示为属性指定的值。

另一种是在设计时可见的设计时属性(Attribute),如图8-3所示MyProperty属性。

如图8-3所示的设计时可见的自定义属性,为开发人员提供了更加友好的属性访问方式。以MyProperty属性为例,添加设计时可见的自定义属性需要执行下列步骤:

1)在解决方案资源管理器中,右击复合控件文件,例如UserControl1.vb,然后在弹出式快捷菜单上单击“查看类关系图”菜单项,打开类关系设计视图,如图8-4所示。

         

     8-3  设计时可见的自定义属性 8-4  类关系设计视图

2)右击类关系设计视图,在弹出式快捷菜单上单击“类详细信息”菜单项,打开“类详细信息”窗口,如图8-5所示。

3)在“类详细信息”窗口的“属性”部分中,在“<添加属性>”提示下,键入属性名称MyProperty

4)在“类型”列中,输入String类型。

5)右击MyProperty所在行最左边的图标,然后在弹出式快捷菜单上选择“属性”菜单项。

6)若要指定“自定义属性”的属性值,则在“属性”窗口中单击“自定义属性”项最左边的按钮,以打开“自定义属性”对话框,如图8-6所示。

  

         8-5  “类详细信息”窗口           8-6  自定义属性的“自定义属性”对话框

7)键入Browsable(true),单击“确定”按钮来设置该属性在设计时的属性窗口中可见。

8)此时,可以在解决方案资源管理器中,查看包含该自定义属性的设计时属性.xmta文件DesignTimeAttributes.xmta

9)添加该属性的定义代码,清单8-1演示了该属性的定义代码。如果需要,也可以创建只读属性,清单8-2演示了只读属性的定义代码。

清单8-1  MyProperty属性定义代码

'''

''' 复合控件测试属性

'''

''' 处理tb_Name.Text

Public Property MyProperty() As String

    Get

        Return Me.tb_Name.Text

    End Get

    Set(ByVal value As String)

        Me.tb_Name.Text = value

    End Set

End Property

清单8-2  只读属性定义代码

'''

''' 复合控件只读属性

'''

''' 读取tb_Name.Text

Public ReadOnly Property MyRdyOnlyProperty() As String

    Get

        Return Me.tb_Name.Text

    End Get

End Property

添加控件方法

不但可以自定义复合控件的属性,还可以添加自定义方法。自定义方法是为控件提供特定功能的函数或过程。调用自定义方法的语法如下:

control. method(args)

在该语法中:

· control表示控件的名称。

· method表示控件的方法。

· args表示方法的参数表。

MyMethod方法为例,向复合控件添加自定义方法需要执行下列步骤:

1)在解决方案资源管理器中,右击复合控件文件,例如UserControl1.vb,然后在弹出的快捷菜单上单击“查看类关系图”菜单项,打开如图8-4所示的类关系设计视图。

2)右击该类关系图,在弹出的快捷菜单上单击“类详细信息”菜单项,打开如图8-5所示的“类详细信息”窗口。

3)在“类详细信息”窗口的“方法”部分中,在“<添加方法>”提示下,键入方法名称MyMethod

4)在“类型”列中,输入String类型。

5)添加该方法的定义代码,清单8-3演示了该自定义方法的定义代码。

清单8-3  MyMethod方法的定义代码

'''

''' 复合控件测试方法

'''

''' 处理tb_Name.Text

''' ""

Public Function MyMethod() As String

    Return tb_Name.Text.Trim

End Function

使用复合控件

创建完复合控件之后将其汇编入一个DLL文件中,然后就可以在Pocket PC应用程序中引用该复合控件。下面是在Pocket PC应用程序当中引用复合控件的步骤:

1)创建一个.NET Compact Framework 2.0窗体应用程序项目。

2)为Pocket PC应用程序添加复合控件的引用。通过项目属性界面的引用标签页,添加包含复合控件的DLL文件。在如图8-7所示的“添加引用”对话框里选择目标DLL文件,单击“确定”按钮后DLL文件包含的复合控件自动添加到工具箱上。

3)在工具箱中,找到自定义的复合控件,并将该复合控件拖放到窗体上。拖放窗体上的复合控件的设计时界面如图8-8所示。

        

       8-7  添加引用 8-8  窗体上的复合控件

4)在“属性”窗口中,设置复合控件自定义属性。

5)编写代码访问自定义属性和自定义方法。

复合控件的演示代码可以在配套光盘本章所对应文件夹的UserControlDemo项目中找到。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12641349/viewspace-150399/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12641349/viewspace-150399/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值