你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 专家论坛
Visual C#创建用户控件(二)
 

2 创建复合控件

复合控件提供了一种创建和重用自定义图形界面的方法。复合控件本质上是具有可视化表示形式的组件。因此,它可能包含一个或多个 Windows 窗体控件、组件或代码块,它们能够通过验证用户输入、修改显示属性或执行作者所需的其他任务来扩展功能。可以按照与其他控件相同的方式将复合控件置于 Windows 窗体中。这里创建一个名为“ctlAddressView”的复合控件,用来显示和编辑联系人的信息。

1)启动Visual Studio 2005,在“文件”菜单上,指向“新建”,然后单击“项目”打开“新建项目”对话框。

2)从 Visual C# 项目列表中选择“Windows 控件库”项目模板,在“名称”框中键入AddressView,然后单击“确定”。

3)在解决方案资源管理器中,右击“UserControl1.cs”,然后选择“重命名”。将文件名更改为“ctlAddressView.cs。当系统询问是否要重命名对代码元素“UserControl1”的所有引用时,单击“是”按钮。

4)在继续设计“ctlAddressView”控件之前,首先创建一个用来编辑电话号码的文本编辑框,该控件可以自动校验用户输入的号码是否正确。在解决方案资源管理器中,右击项目“AddressView”,选择“添加”、“用户控件”,在“添加新项”对话框中选择“用户控件”,名称改为“PhoneEdit”

5)在解决方案资源管理器中双击“PhoneEdit.cs”,打开设计器窗口,添加一个“TextBox”控件,重新命名为“textBoxPhone”,将其“Dock”属性改为“Fill”。

6)由于电话号码是数字的,因此要限制用户的输入,必须输入数字字符,为“textBoxPhone”控件添加“validating”属性,验证是否输入非法字符,添加以下代码:

         private void textBoxPhone_Validating(object sender, CancelEventArgs e)
        {
            foreach(char c in textBoxPhone.Text)
            {
                if(!Char.IsDigit(c))
                {
                    MessageBox.Show("号码中有非法字符,请重新输入");
                    Focus();
                    break;
                }
            }
         }

7)“PhoneEdit”控件封装了“TextBox”控件,它有一组继承属性,但是注意到在“PhoneEdit”类中,文本框“textBoxPhone”的属性是私有的,后续用户无法访问它的属性。解决这个问题的方法是通过添加代码为控件添加自定义属性并公开,下面为“PhoneEdit”添加文本框显示内容的属性,使用户可以更改和读取文本框的内容:

public String strPhoneCode
        {
            get
            {
                return textBoxPhone.Text;
            }
  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089