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

vb.net创建自定义控件

来源:互联网 作者:佚名 时间:01-16 11:25:54 浏览:

此时,新建的 ActiveX 控件并不会如你所愿自动获得 TextBox 的某些属性 (比如 Text 属性);这些属性只能由你编码实现。更糟的是,你必须用许多代码来确保 TextBox 始终占据整个窗体;你还得为新控件设计 resizing 事件处理程序。当然,经过一番折腾,你总会完成该控件的设计任务的,何况还有 ActiveX 控件界面向导能减轻你的负担。可是在 .NET 环境下,整个任务的完成思路都会变得完全不同。

VB6.0提供了一个附加程序 (add-in) ,它能自动添加和映射控件属性,以简化控件的开发。

继承性能避免控件开发中的某些重复代码,因为它能让 .NET 控件直接获得任何其它控件的功能性。例如:为了创建自己的 TextBox 控件,你可以继承现有的 TextBox 控件,而不是 UserControl 控件。新控件继承了基类控件的全部功能性,因此你只需要对基类控件中没有的功能性编码即可。下面举一个实际的例子。以下代码能够创建一个自定义 TextBox 控件,它只允许用户输入数字字符:

注意 为了运行这段代码,你只需在“Windows 应用程序”模板下新建一个 VB .NET 项目,然后就能在 IDE 自动生成的空白窗体中试验新控件了。在项目中新建一个类 NumericTextBox ,用下面的代码替换 NumericTextBox 类文件的内容,编译该项目。最后,在菜单中选择工具->自定义工具箱,选中先前编译项目得到的 .exe 文件,就能把新控件添加到工具箱了。

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


    上一页 1 2 34 5 下一页