VB.Net Tutorial/GUI/Control Event

Материал из VB Эксперт
Перейти к: навигация, поиск

A simple event handler

<source lang="vbnet">Imports System.Windows.Forms public class GenericEventHandler

  public Shared Sub Main
       Application.Run(New FrmSimple)
  End Sub

End class

Public Class FrmSimple

  Inherits System.Windows.Forms.Form
  1. Region " Windows Form Designer generated code "
  Public Sub New()
     MyBase.New()
     " This call is required by the Windows Form Designer.
     InitializeComponent()
     " Add any initialization after the 
     " InitializeComponent() call
  End Sub " New
  " Form overrides dispose to clean up the component list.
  Protected Overloads Overrides 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 " Dispose
  Friend WithEvents lblOutput As System.Windows.Forms.Label
  " Required by the Windows Form Designer
  Private components As System.ruponentModel.Container
  " NOTE: The following procedure is required by 
  " the Windows Form Designer.
  " It can be modified using the Windows Form Designer.  
  " Do not modify it using the code editor.
  <System.Diagnostics.DebuggerStepThrough()> _
     Private Sub InitializeComponent()
     Me.lblOutput = New System.Windows.Forms.Label()
     Me.SuspendLayout()
     "
     "lblOutput
     "
     Me.lblOutput.Location = New System.Drawing.Point(16, 16)
     Me.lblOutput.Name = "lblOutput"
     Me.lblOutput.Size = New System.Drawing.Size(152, 80)
     Me.lblOutput.TabIndex = 0
     Me.lblOutput.Text = "Click Me!"
     Me.lblOutput.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
     "
     "FrmSimple
     "
     Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
     Me.ClientSize = New System.Drawing.Size(176, 101)
     Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.lblOutput})
     Me.Name = "FrmSimple"
     Me.Text = "SimpleEventExample"
     Me.ResumeLayout(False)
  End Sub
  1. End Region
  Private Sub lblOutput_Click(ByVal sender As Object, _
     ByVal e As System.EventArgs) Handles lblOutput.Click
     MessageBox.Show("Label was clicked")
  End Sub 

End Class</source>

Handle multiple event handlers from different controls

<source lang="vbnet">Imports System.Windows.Forms public class HandleMultipleEventsFromDifferentControls

  public Shared Sub Main
       Application.Run(New Form1)
  End Sub

End class Public Class Form1

   Private Sub MultipleEvents(ByVal sender As Object, _
           ByVal e As System.EventArgs) Handles _
           TextBox1.Enter, TextBox2.Enter, TextBox3.Enter, _
           TextBox1.TextChanged, TextBox2.TextChanged, TextBox3.TextChanged
       
       Dim activeControl As TextBox
       activeControl = CType(sender, TextBox)
       ShowInfo.Text = "TextField #" & _
           activeControl.Name & _
           ", " & activeControl.Text.Length & " character(s)"
   End Sub

End Class

<Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()> _ Partial Class Form1

   Inherits System.Windows.Forms.Form
   "Form overrides dispose to clean up the component list.
   <System.Diagnostics.DebuggerNonUserCode()> _
   Protected Overrides Sub Dispose(ByVal disposing As Boolean)
       If disposing AndAlso components IsNot Nothing Then
           components.Dispose()
       End If
       MyBase.Dispose(disposing)
   End Sub
   "Required by the Windows Form Designer
   Private components As System.ruponentModel.IContainer
   "NOTE: The following procedure is required by the Windows Form Designer
   "It can be modified using the Windows Form Designer.  
   "Do not modify it using the code editor.
   <System.Diagnostics.DebuggerStepThrough()> _
   Private Sub InitializeComponent()
       Me.TextBox1 = New System.Windows.Forms.TextBox
       Me.Label1 = New System.Windows.Forms.Label
       Me.Label2 = New System.Windows.Forms.Label
       Me.TextBox2 = New System.Windows.Forms.TextBox
       Me.Label3 = New System.Windows.Forms.Label
       Me.TextBox3 = New System.Windows.Forms.TextBox
       Me.Label4 = New System.Windows.Forms.Label
       Me.ShowInfo = New System.Windows.Forms.Label
       Me.SuspendLayout()
       "
       "TextBox1
       "
       Me.TextBox1.Location = New System.Drawing.Point(120, 8)
       Me.TextBox1.Name = "TextBox1"
       Me.TextBox1.Size = New System.Drawing.Size(160, 20)
       Me.TextBox1.TabIndex = 1
       "
       "Label1
       "
       Me.Label1.AutoSize = True
       Me.Label1.Location = New System.Drawing.Point(8, 10)
       Me.Label1.Name = "Label1"
       Me.Label1.Size = New System.Drawing.Size(93, 13)
       Me.Label1.TabIndex = 0
       Me.Label1.Text = "Text Box Field #1:"
       "
       "Label2
       "
       Me.Label2.AutoSize = True
       Me.Label2.Location = New System.Drawing.Point(8, 42)
       Me.Label2.Name = "Label2"
       Me.Label2.Size = New System.Drawing.Size(93, 13)
       Me.Label2.TabIndex = 2
       Me.Label2.Text = "Text Box Field #2:"
       "
       "TextBox2
       "
       Me.TextBox2.Location = New System.Drawing.Point(120, 40)
       Me.TextBox2.Name = "TextBox2"
       Me.TextBox2.Size = New System.Drawing.Size(160, 20)
       Me.TextBox2.TabIndex = 3
       "
       "Label3
       "
       Me.Label3.AutoSize = True
       Me.Label3.Location = New System.Drawing.Point(9, 72)
       Me.Label3.Name = "Label3"
       Me.Label3.Size = New System.Drawing.Size(93, 13)
       Me.Label3.TabIndex = 4
       Me.Label3.Text = "Text Box Field #3:"
       "
       "TextBox3
       "
       Me.TextBox3.Location = New System.Drawing.Point(121, 70)
       Me.TextBox3.Name = "TextBox3"
       Me.TextBox3.Size = New System.Drawing.Size(159, 20)
       Me.TextBox3.TabIndex = 5
       "
       "Label4
       "
       Me.Label4.AutoSize = True
       Me.Label4.Location = New System.Drawing.Point(8, 104)
       Me.Label4.Name = "Label4"
       Me.Label4.Size = New System.Drawing.Size(62, 13)
       Me.Label4.TabIndex = 6
       Me.Label4.Text = "Information:"
       "
       "ShowInfo
       "
       Me.ShowInfo.AutoSize = True
       Me.ShowInfo.Location = New System.Drawing.Point(120, 104)
       Me.ShowInfo.Name = "ShowInfo"
       Me.ShowInfo.Size = New System.Drawing.Size(27, 13)
       Me.ShowInfo.TabIndex = 7
       Me.ShowInfo.Text = "N/A"
       "
       "Form1
       "
       Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
       Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
       Me.ClientSize = New System.Drawing.Size(320, 136)
       Me.Controls.Add(Me.ShowInfo)
       Me.Controls.Add(Me.Label4)
       Me.Controls.Add(Me.Label3)
       Me.Controls.Add(Me.TextBox3)
       Me.Controls.Add(Me.Label2)
       Me.Controls.Add(Me.TextBox2)
       Me.Controls.Add(Me.Label1)
       Me.Controls.Add(Me.TextBox1)
       Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
       Me.MaximizeBox = False
       Me.Name = "Form1"
       Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
       Me.Text = "Sharing Control Logic"
       Me.ResumeLayout(False)
       Me.PerformLayout()
   End Sub
   Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
   Friend WithEvents Label1 As System.Windows.Forms.Label
   Friend WithEvents Label2 As System.Windows.Forms.Label
   Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
   Friend WithEvents Label3 As System.Windows.Forms.Label
   Friend WithEvents TextBox3 As System.Windows.Forms.TextBox
   Friend WithEvents Label4 As System.Windows.Forms.Label
   Friend WithEvents ShowInfo As System.Windows.Forms.Label

End Class</source>