Vb教程 Vb.net教程 Vfp教程 C/C++教程 Vc/Vc++教程 Delphi教程 Java教程 Powerbuilder
  杀毒频道 | 短信频道 | 网络电视 | 论文中心 | 学上网 | 学软件 | 网页特效 | 电脑基础 | 论坛  
  NCRE | 软考 | CET | 职称英语 | 司法考试 | 报关员 | 公务员 | CATTI | CPA考试  
  Html教程 | Css教程 | Xml教程 | Asp教程 | Asp.net | Php教程 | Jsp教程 | Linux教程 | QQ技巧  
Photoshop Illustrator ImageReady Maya教程 3D Max教程 Lightscape Coredraw教程 Authorware Autocad教程 Freehand教程
Access教程 Mysql教程 Sql server Oracle教程 Word教程 Excel教程 Powerpoint Frontpage Asp.net源码 Php源代码
Flash教程 Fireworks Dreamweaver C#教程 outlook教程 系统安装 vbscript教程 Javascript Jsp源代码 Asp源代码
您的位置:首页 >> Vb.net教程 >> 正文

VB.NET 中的组件开发源代码剖析

文章来源:CSDN

   ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
   '                               '
   '       登录验证组件                   '
   '                               '
   ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  
   Imports System.Security.Cryptography
   Imports System.Text
   Imports System.Data
   Imports System.Data.SqlClient
  
   Public Class ValidatorClass Validator
     Inherits System.ComponentModel.Component
  
     Private username As String
     Private userpwd As String
  
     Public Property vUsername()Property vUsername() As String
       Get
         Return username
       End Get
       Set(ByVal Value As String)
         username = Value
       End Set
     End Property
  
     Public Property vUserpwd()Property vUserpwd() As String
       Get
         Return userpwd
       End Get
       Set(ByVal Value As String)
         userpwd = Value
       End Set
     End Property
  
     '转换为MD5
     Private Function convertMD5()Function convertMD5(ByVal pwd As String) As String
  
       Dim md5 As New MD5CryptoServiceProvider
       Dim password As Byte() = (New ASCIIEncoding).GetBytes(pwd)
  
       '转换为哈希值Byte数组
       Dim mdByte As Byte() = md5.ComputeHash(password)
       'Dim mdString As String = System.BitConverter.ToString(mdByte)
       Dim mdString As String = (New ASCIIEncoding).GetString(mdByte)
       Return mdString
  
     End Function
  
     Public Function validate()Function validate() As Boolean
  
       '连接到Users表
  
       Dim myConnection As New SqlConnection("server=localhost;database=TEST;Trusted_Connection=yes;user id=sa;password=;")
       Dim selectAdapter As New SqlDataAdapter("select * from Users where UserName='" + username + "'" + "and Password='" + convertMD5(userpwd) + "'", myConnection)
       Dim ds As New DataSet
       Try
         selectAdapter.Fill(ds, "Users")
         If (ds.Tables(0).Rows.Count > 0) Then
           Return True
         Else
           Return False
         End If
       Catch ep As SqlException
         MsgBox("连接数据库出错")
       Catch pp As Exception
         MsgBox("Oh,发生了不可预料的事情在你身边,你死定了。退出吧。")
       End Try
     End Function
   #Region " 组件设计器生成的代码 "
  
     Public Sub New()Sub New(ByVal Container As System.ComponentModel.IContainer)
       MyClass.New()
  
       'Windows.Forms 类撰写设计器支持所必需的
       Container.Add(Me)
     End Sub
  
     Public Sub New()Sub New()
       MyBase.New()
  
       '该调用是组件设计器所必需的。
       InitializeComponent()
  
       '在 InitializeComponent() 调用之后添加任何初始化
  
     End Sub
  
     '组件重写 dispose 以清理组件列表。
     Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
       If disposing Then
         If Not (components Is Nothing) Then
           components.Dispose()
         End If
       End If
       MyBase.Dispose(disposing)
     End Sub
  
     '组件设计器所必需的
     Private components As System.ComponentModel.IContainer
  
     '注意: 以下过程是组件设计器所必需的
     '可以使用组件设计器修改此过程。
     '不要使用代码编辑器修改它。
     <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()
       components = New System.ComponentModel.Container
     End Sub
  
   #End Region
  
   End Class
  
   简介:组件其实是一段可以重用的代码,通过遵循IComponent接口的标准来实现一个组件,所以有组件都是派生于Component类,由Component类来实现IComponent接口。在组件中应正确使用函数的访问级别来控制外部对其的访问限制。
  
   只要有足够的权限就可以将组件放到自己的程序中而不用担心组件会产生多大的错误,因为组件已经经过测试的。比如说可以把一段登录的程序做成一个组件,或者把经常使用到的一些功能也做成组件,这样就可以减少开发中的错误,也可以缩短开发时间。组件之间也可以互相套用,如一个组件引用另一个组件,都是没问题,但要先在Add Reference中添加对组件的引用,在.NET中是通过把组件放在程序集中来实现的,程序集中存放着这些组件所依赖的文件信息和所在路径,因此CLR就可以通过这些信息来确定组件所需要的其他程序集的位置。
  
   ( 另外在组件设计过程中应好好利用接口来设计组件)
  
   在VS中创建组件:选建一个Project,再从模板中选Class Library,OK。接着再从Project菜单中Add Component,到些为止,组件的一个框架就呈现在眼前,平台自动继承了Component类和构造函数。可以删除原先创建类库时自动生成的Class1,看应用的需要。接着就可以在组件类里写要实现的功能,最后从Build(生成)菜单中选择Build Solution(生成解决方案)来生成组件。如果生成成功的话,到应用程序的BIN目录下会看到一个DLL文件。
  
   引用组件:只要在Solution Explorer窗口中,添加对DLL的Reference就可以了。
  
   Imports loginValidator
   Imports System.Data
   Imports System.Data.SqlClient
  
   Public Class loginFormClass loginForm
     Inherits System.Windows.Forms.Form
  
   #Region " Windows 窗体设计器生成的代码 "
  
     Public Sub New()Sub New()
       MyBase.New()
  
       '该调用是 Windows 窗体设计器所必需的。
       InitializeComponent()
  
       '在 InitializeComponent() 调用之后添加任何初始化
  
     End Sub
  
     '窗体重写 dispose 以清理组件列表。
     Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
       If disposing Then
         If Not (components Is Nothing) Then
           components.Dispose()
         End If
       End If
       MyBase.Dispose(disposing)
     End Sub
  
     'Windows 窗体设计器所必需的
     Private components As System.ComponentModel.IContainer
  
     '注意: 以下过程是 Windows 窗体设计器所必需的
     '可以使用 Windows 窗体设计器修改此过程。
     '不要使用代码编辑器修改它。
     Friend WithEvents lblUserPwd As System.Windows.Forms.Label
     Friend WithEvents lblUserName As System.Windows.Forms.Label
     Friend WithEvents txtUserName As System.Windows.Forms.TextBox
     Friend WithEvents txtUserPwd As System.Windows.Forms.TextBox
     Friend WithEvents btnSubmit As System.Windows.Forms.Button
     Friend WithEvents btnExit As System.Windows.Forms.Button
     Friend WithEvents Label1 As System.Windows.Forms.Label
     Friend WithEvents Label2 As System.Windows.Forms.Label
     Friend WithEvents btnCancel As System.Windows.Forms.Button
     Friend WithEvents Label3 As System.Windows.Forms.Label
     <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()
       Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(loginForm))
       Me.lblUserPwd = New System.Windows.Forms.Label
       Me.lblUserName = New System.Windows.Forms.Label
       Me.txtUserName = New System.Windows.Forms.TextBox
       Me.txtUserPwd = New System.Windows.Forms.TextBox
       Me.btnSubmit = New System.Windows.Forms.Button
       Me.btnExit = New System.Windows.Forms.Button

[返回]

编程语言 web开发 数据库 网络技术 操作系统 服务器 网页设计 图形设计 办公软件 常用软件 学电脑

Copyright© www.bianceng.cn Powered by 编程入门网 All Rights Reserved.
关于本站 | 版权声明 | 联系我们 | 友情链接 |
编程入门网 版权所有