RSS
当前位置 : 主页>电脑文章>网络技术>

vb.net创建自定义控件

来源:互联网 作者:佚名 时间:01-16 11:25:54 浏览:
 
  • End If  
  • End Sub  
  • End Class 
  • 对本例来说,以上代码已经足够了。如果你还觉得它不够完善的话,请改用下列代码,它运用一种奇妙的布尔逻辑减少了代码行数:

    1. Public Class NumericTextBox  
    2. Inherits System.Windows.Forms.TextBox  
    3. Protected Overrides Sub OnKeyPress(ByVal e As _  
    4. System.Windows.Forms.KeyPressEventArgs)  
    5. e.Handled = Not Char.IsDigit(e.KeyChar)  
    6. End Sub  
    7. End Class 

    现在,你的新控件已经正确显示在窗体中了。它象 TextBox 一样处理事件,并且拥有与 TextBox 一样的方法、属性。你甚至不需更多的编码就能实现对新控件的数据绑定,因为这也是基类控件 TextBox 的功能性之一。

    注意 本控件对用户输入的要求十分苛刻:它只允许输入 0 至 9 的数字,也就是说,数字中的逗号、小数点甚至负号都是非法字符。我将在下一篇文章中介绍一个功能更强的输入验证程序。

    在VB.NET开发控件时,核心代码会和本范例一样长,可是用于处理控件的 resizing 事件和实现 TextBox 组件属性的代码也会有这么长。由此可见,.NET 提供的继承性能够大大精简源代码。单凭这一点,.NET 就已经令人叹服了,何况它还有许多其它优越性。更奇妙的是,凡是要求使用某一控件的地方,都能改用继承该控件而来的新控件。例如:在任何例程中要求 TextBox 的地方都能用你的 NumericTextBox 控件。不仅如此,从现有控件,而不是从 UserControl 类继承而来的新控件,不但具备基类控件的所有功能性,还能象基类控件一样使用继承得到的属性、方法和事件。因此,任何程序员只要学过标准的 TextBox 控件,就知道如何使用 NumericTextBox 控件。允许继承现有的类/控件,是从VB6.0到 .NET 的一个重大飞跃,可是 .NET 的优点又何止于此!只要你认真学习本系列文章所提供的范例,你就会发现,在 .NET 环境下Windows 窗体控件不但拥有不少强大的功能,而且它们的创建也比在老版本 VB 中容易得多。


    上一页 1 2 3 45 下一页