VB.NET中的组件开发(2)

2007-12-06  来源:   浏览次数 1

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
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.btnCancel = New System.Windows.Forms.Button
Me.Label3 = New System.Windows.Forms.Label
Me.SuspendLayout()
'
'lblUserPwd
'
Me.lblUserPwd.Location = New System.Drawing.Point(46, 176)
Me.lblUserPwd.Name = "lblUserPwd"
Me.lblUserPwd.Size = New System.Drawing.Size(52, 23)
Me.lblUserPwd.TabIndex = 0
Me.lblUserPwd.Text = "密码:"
Me.lblUserPwd.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'lblUserName
'
Me.lblUserName.Location = New System.Drawing.Point(46, 128)
Me.lblUserName.Name = "lblUserName"
Me.lblUserName.Size = New System.Drawing.Size(52, 23)
Me.lblUserName.TabIndex = 1
Me.lblUserName.Text = "帐号:"
Me.lblUserName.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'txtUserName
'
Me.txtUserName.BackColor = System.Drawing.SystemColors.Info
Me.txtUserName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.txtUserName.Location = New System.Drawing.Point(110, 128)
Me.txtUserName.Name = "txtUserName"
Me.txtUserName.Size = New System.Drawing.Size(151, 21)
Me.txtUserName.TabIndex = 3
Me.txtUserName.Text = ""
'
'txtUserPwd
'
Me.txtUserPwd.BackColor = System.Drawing.SystemColors.Info
Me.txtUserPwd.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.txtUserPwd.Location = New System.Drawing.Point(110, 176)
Me.txtUserPwd.Name = "txtUserPwd"
Me.txtUserPwd.PasswordChar = Microsoft.VisualBasic.ChrW(42)
Me.txtUserPwd.Size = New System.Drawing.Size(151, 21)
Me.txtUserPwd.TabIndex = 4
Me.txtUserPwd.Text = ""
'
'btnSubmit
'
Me.btnSubmit.BackColor = System.Drawing.SystemColors.ActiveBorder
Me.btnSubmit.Cursor = System.Windows.Forms.Cursors.Hand
Me.btnSubmit.ForeColor = System.Drawing.SystemColors.InfoText
Me.btnSubmit.Location = New System.Drawing.Point(56, 216)
Me.btnSubmit.Name = "btnSubmit"
Me.btnSubmit.TabIndex = 5
Me.btnSubmit.Text = "登录"
'
'btnExit
'
Me.btnExit.BackColor = System.Drawing.SystemColors.ActiveBorder
Me.btnExit.Cursor = System.Windows.Forms.Cursors.Hand
Me.btnExit.Location = New System.Drawing.Point(141, 216)
Me.btnExit.Name = "btnExit"
Me.btnExit.TabIndex = 6
Me.btnExit.Text = "退出"
'
'Label1
'
Me.Label1.Font = New System.Drawing.Font("Impact", 17.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
Me.Label1.Location = New System.Drawing.Point(38, 64)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(256, 32)
Me.Label1.TabIndex = 6
Me.Label1.Text = "TEST"
'
'Label2
'
Me.Label2.BackColor = System.Drawing.SystemColors.ControlText
Me.Label2.ForeColor = System.Drawing.SystemColors.HighlightText
Me.Label2.Location = New System.Drawing.Point(0, 0)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(320, 24)
Me.Label2.TabIndex = 7
Me.Label2.Text = "系统登录"
Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'btnCancel
'
Me.btnCancel.BackColor = System.Drawing.SystemColors.ActiveBorder
Me.btnCancel.Cursor = System.Windows.Forms.Cursors.Hand
Me.btnCancel.Location = New System.Drawing.Point(225, 215)
Me.btnCancel.Name = "btnCancel"
Me.btnCancel.TabIndex = 10
Me.btnCancel.Text = "取消"
'
'Label3
'
Me.Label3.ForeColor = System.Drawing.Color.Red
Me.Label3.Location = New System.Drawing.Point(163, 262)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(149, 16)
Me.Label3.TabIndex = 11
Me.Label3.Text = "为保证系统安全,请先登录"
'
'loginForm
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.BackColor = System.Drawing.SystemColors.ActiveBorder
Me.ClientSize = New System.Drawing.Size(319, 284)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.btnCancel)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.btnExit)
Me.Controls.Add(Me.txtUserPwd)
Me.Controls.Add(Me.txtUserName)
Me.Controls.Add(Me.btnSubmit)
Me.Controls.Add(Me.lblUserName)
Me.Controls.Add(Me.lblUserPwd)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)

Me.MaximizeBox = False
Me.MinimizeBox = False
Me.Name = "loginForm"
Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Tag = "登录"
Me.Text = "TEST--系统登录"
Me.ResumeLayout(False)

End Sub

#End Region

Private Sub loginForm_Load()Sub loginForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
txtUserName.Focus()
' btnCancel.Visible = False
End Sub

Private Sub btnExit_Click()Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
Application.Exit()

End Sub

Private Sub btnSubmit_Click()Sub btnSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSubmit.Click

'调用loginValidator组件

Dim validator As New Validator
validator.vUsername = txtUserName.Text.Trim
validator.vUserpwd = txtUserPwd.Text.Trim
If (validator.validate() = True) Then
Me.Close()
Else
MessageBox.Show("帐号或密码错误,请重试!", "验证错误", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
End Sub

Private Sub btnCancel_Click()Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Dispose()
End Sub

Private Sub btnCancel_Click_1()Sub btnCancel_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
Me.Close()

End Sub
End Class

关于在.NET中使用COM组件:.NET可以向后兼容,并支持了COM和ActiveX对象等早期版本的应用程序。在.NET中使用COM等很有趣,.NET创建一个包将它们包装起来,而它们之间的交互就是通过这个包装来进行的,这个包就叫做运行时可呼叫包装(RCW)。可以直接使用COM,也可以先转换成.NET程序集后再使用。

1、直接使用COM组件是通过Add Reference来实现的,这种方法通过RCW来包装。缺点:无法放到 GAC中,不能重用。

2、通过转换成.NET程序集来使用,是通过利用 tlbimp 命令行工具来实现的,语法:

tlbimp COMName.dll /out:Comp.dll /namespace:myNS /asmVersion: myVersion /reference:refname

第一个为COM的名称,第二个为要生成的.NET组件名称,第三个为要生成的名称空间,第四个为 版本号,第四个指定引用的文件名。

上一篇:VB.NET中的组件开..    下一篇:.NET中WinForms L..

相关主题:

网友评论