VB.Net Tutorial/Event/Key Event — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 12:54, 26 мая 2010
Содержание
Check Key Code: F5
Imports System.Windows.Forms
public class KeysCodeF5
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Private Sub Form1_KeyDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) _
Handles Me.KeyDown
If (e.KeyCode = Keys.F5) Then Console.WriteLine("Form: F5")
e.Handled = True
End Sub
Private Sub TextBox1_KeyDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) _
Handles TextBox1.KeyDown
If (e.KeyCode = Keys.F5) Then Console.WriteLine("Text: F5")
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.SuspendLayout()
"
"TextBox1
"
Me.TextBox1.Location = New System.Drawing.Point(16, 16)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(328, 20)
Me.TextBox1.TabIndex = 0
"
"Form1
"
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(385, 162)
Me.Controls.Add(Me.TextBox1)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
Me.KeyPreview = True
Me.MaximizeBox = False
Me.Name = "Form1"
Me.Text = "Intercepting Form-level Keys"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
End Class
Check Key Code range
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class KeyCodeRangeShift
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Inherits System.Windows.Forms.Form
#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
"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
"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.
Friend WithEvents Label1 As System.Windows.Forms.Label
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.Label1 = New System.Windows.Forms.Label
Me.SuspendLayout()
"
"Label1
"
Me.Label1.Location = New System.Drawing.Point(56, 80)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(184, 200)
Me.Label1.TabIndex = 0
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.Controls.Add(Me.Label1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode >= Keys.A And e.KeyCode <= Keys.Z Then
If e.Shift Then
Label1.Text &= Chr(e.KeyCode)
Else
Label1.Text &= Char.ToLower(Chr(e.KeyCode))
End If
End If
End Sub
Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
Label1.Text &= e.KeyChar
End Sub
End Class
Control Key
Imports System.Windows.Forms
public class ControlKey
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = TextBox1.Text + TextBox2.Text
TextBox2.Text = ""
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox2.Text = ""
End Sub
Private Sub TextBox2_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox2.KeyDown
Dim res As MsgBoxResult
Select Case e.KeyCode
Case Keys.Escape
TextBox2.Text = ""
Case Keys.Enter
TextBox2.Text = ""
Case Keys.Control
Select Case e.KeyData
Case Keys.A
TextBox2.SelectionStart = 0
TextBox2.SelectionLength = Len(TextBox2.Text)
Case Keys.C
Clipboard.SetDataObject(TextBox2.SelectedText)
Case Keys.V
Dim iData As IDataObject
iData = Clipboard.GetDataObject()
If (iData.GetDataPresent(DataFormats.Text)) Then
TextBox2.SelectedText = iData.GetData(DataFormats.Text)
Else
MsgBox("Could not retrieve data off the clipboard.")
End If
Case Keys.X
Clipboard.SetDataObject(TextBox2.SelectedText)
TextBox2.SelectedText = ""
End Select
Case Keys.F1
Console.WriteLine("F1")
End Select
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.Button1 = New System.Windows.Forms.Button
Me.Button2 = New System.Windows.Forms.Button
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.TextBox2 = New System.Windows.Forms.TextBox
Me.SuspendLayout()
"
"Button1
"
Me.Button1.Location = New System.Drawing.Point(101, 205)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(75, 23)
Me.Button1.TabIndex = 0
Me.Button1.Text = "Add"
Me.Button1.UseVisualStyleBackColor = True
"
"Button2
"
Me.Button2.Location = New System.Drawing.Point(291, 205)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(75, 23)
Me.Button2.TabIndex = 1
Me.Button2.Text = "Cancel"
Me.Button2.UseVisualStyleBackColor = True
"
"Label1
"
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(24, 22)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(53, 12)
Me.Label1.TabIndex = 2
Me.Label1.Text = "Old"
"
"Label2
"
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(24, 134)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(53, 12)
Me.Label2.TabIndex = 3
Me.Label2.Text = "New"
"
"TextBox1
"
Me.TextBox1.Location = New System.Drawing.Point(35, 37)
Me.TextBox1.Multiline = True
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(394, 94)
Me.TextBox1.TabIndex = 4
"
"TextBox2
"
Me.TextBox2.Location = New System.Drawing.Point(37, 159)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(392, 21)
Me.TextBox2.TabIndex = 5
"
"Form1
"
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(468, 266)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Button2 As System.Windows.Forms.Button
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
End Class
Determine whether user pressed Enter key
Imports System.Windows.Forms
public class KeyCodeEnter
public Shared Sub Main
Application.Run(New FrmFileTest)
End Sub
End class
Public Class FrmFileTest
Inherits Form
" label that gives directions to user
Friend WithEvents lblDirections As Label
" text boxes for inputting and outputting data
Friend WithEvents txtOutput As TextBox
Friend WithEvents txtInput As TextBox
#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
"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
"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.lblDirections = New System.Windows.Forms.Label()
Me.txtOutput = New System.Windows.Forms.TextBox()
Me.txtInput = New System.Windows.Forms.TextBox()
Me.SuspendLayout()
"
"lblDirections
"
Me.lblDirections.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblDirections.Location = New System.Drawing.Point(20, 20)
Me.lblDirections.Name = "lblDirections"
Me.lblDirections.Size = New System.Drawing.Size(410, 19)
Me.lblDirections.TabIndex = 2
Me.lblDirections.Text = "Press Enter key:"
Me.lblDirections.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
"
"txtOutput
"
Me.txtOutput.AutoSize = False
Me.txtOutput.BackColor = System.Drawing.SystemColors.Control
Me.txtOutput.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtOutput.Location = New System.Drawing.Point(20, 109)
Me.txtOutput.Multiline = True
Me.txtOutput.Name = "txtOutput"
Me.txtOutput.ReadOnly = True
Me.txtOutput.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
Me.txtOutput.Size = New System.Drawing.Size(410, 345)
Me.txtOutput.TabIndex = 1
Me.txtOutput.Text = ""
"
"txtInput
"
Me.txtInput.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtInput.Location = New System.Drawing.Point(20, 59)
Me.txtInput.Name = "txtInput"
Me.txtInput.Size = New System.Drawing.Size(410, 26)
Me.txtInput.TabIndex = 0
Me.txtInput.Text = ""
"
"FrmFileTest
"
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 15)
Me.ClientSize = New System.Drawing.Size(460, 470)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.txtOutput, Me.lblDirections, Me.txtInput})
Me.Name = "FrmFileTest"
Me.Text = "File Test"
Me.ResumeLayout(False)
End Sub
#End Region
" invoked when user presses key
Protected Sub txtInput_KeyDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) Handles _
txtInput.KeyDown
If e.KeyCode = Keys.Enter Then
Console.WriteLine("Enter")
End If
End Sub
End Class
Displaying information about a user-pressed key
Imports System.Windows.Forms
public class KeyCodeChar
public Shared Sub Main
Application.Run(New FrmKeyDemo)
End Sub
End class
Public Class FrmKeyDemo
Inherits System.Windows.Forms.Form
#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
"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
Friend WithEvents lblInformation As System.Windows.Forms.Label
Friend WithEvents lblCharacter 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.lblInformation = New System.Windows.Forms.Label()
Me.lblCharacter = New System.Windows.Forms.Label()
Me.SuspendLayout()
"
"lblInformation
"
Me.lblInformation.Font = New System.Drawing.Font("Microsoft Sans Serif", 12!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblInformation.Location = New System.Drawing.Point(8, 56)
Me.lblInformation.Name = "lblInformation"
Me.lblInformation.Size = New System.Drawing.Size(176, 136)
Me.lblInformation.TabIndex = 1
"
"lblCharacter
"
Me.lblCharacter.Font = New System.Drawing.Font("Microsoft Sans Serif", 12!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblCharacter.Location = New System.Drawing.Point(8, 16)
Me.lblCharacter.Name = "lblCharacter"
Me.lblCharacter.Size = New System.Drawing.Size(168, 23)
Me.lblCharacter.TabIndex = 0
"
"FrmKeyDemo
"
Me.AutoScaleBaseSize = New System.Drawing.Size(9, 22)
Me.ClientSize = New System.Drawing.Size(192, 205)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.lblInformation, Me.lblCharacter})
Me.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Name = "FrmKeyDemo"
Me.Text = "KeyDemo"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub FrmKeyDemo_KeyPress(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.KeyPressEventArgs) _
Handles MyBase.KeyPress
lblCharacter.Text = "Key pressed: " & e.KeyChar
End Sub
Private Sub FrmKeyDemo_KeyDown(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) _
Handles MyBase.KeyDown
lblInformation.Text = "KeyCode: " & e.KeyCode.ToString & _
vbCrLf & "KeyData: " & e.KeyData.ToString & _
vbCrLf & "KeyValue: " & e.KeyValue & vbCrLf
If e.Alt Then
lblInformation.Text &= "Alt: Yes" & vbCrLf
Else
lblInformation.Text &= "Alt: No" & vbCrLf
End If
If e.Shift Then
lblInformation.Text &= "Shift: Yes" & vbCrLf
Else
lblInformation.Text &= "Shift: No" & vbCrLf
End If
If e.Control Then
lblInformation.Text &= "Ctrl: Yes" & vbCrLf
Else
lblInformation.Text &= "Ctrl: No" & vbCrLf
End If
End Sub " FrmKeyDemo_KeyDown
" clear labels when key is released
Private Sub FrmKeyDemo_KeyUp(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) _
Handles MyBase.KeyUp
lblInformation.Text = "Key up"
lblCharacter.Text = "Key up"
End Sub
End Class
Ignore key code
Imports System.Windows.Forms
public class TextBoxValidating
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Inherits System.Windows.Forms.Form
#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
"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
"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.
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents txtInput As System.Windows.Forms.TextBox
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents lblTrue As System.Windows.Forms.Label
Friend WithEvents lblCheck As System.Windows.Forms.Label
Friend WithEvents lblResults As System.Windows.Forms.Label
Friend WithEvents btnClear As System.Windows.Forms.Button
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.Label1 = New System.Windows.Forms.Label()
Me.txtInput = New System.Windows.Forms.TextBox()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label3 = New System.Windows.Forms.Label()
Me.lblTrue = New System.Windows.Forms.Label()
Me.lblCheck = New System.Windows.Forms.Label()
Me.lblResults = New System.Windows.Forms.Label()
Me.btnClear = New System.Windows.Forms.Button()
Me.SuspendLayout()
"
"Label1
"
Me.Label1.Font = New System.Drawing.Font("Tahoma", 14.25!, (System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label1.Location = New System.Drawing.Point(48, 16)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(176, 23)
Me.Label1.TabIndex = 0
Me.Label1.Text = "ISBN Validation"
"
"txtInput
"
Me.txtInput.Location = New System.Drawing.Point(72, 64)
Me.txtInput.Name = "txtInput"
Me.txtInput.TabIndex = 1
Me.txtInput.Text = ""
"
"Label2
"
Me.Label2.Location = New System.Drawing.Point(24, 104)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(80, 23)
Me.Label2.TabIndex = 2
Me.Label2.Text = "True Number:"
"
"Label3
"
Me.Label3.Location = New System.Drawing.Point(32, 152)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(72, 23)
Me.Label3.TabIndex = 3
Me.Label3.Text = "Check Digit:"
"
"lblTrue
"
Me.lblTrue.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.lblTrue.Location = New System.Drawing.Point(112, 104)
Me.lblTrue.Name = "lblTrue"
Me.lblTrue.TabIndex = 4
"
"lblCheck
"
Me.lblCheck.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.lblCheck.Location = New System.Drawing.Point(112, 152)
Me.lblCheck.Name = "lblCheck"
Me.lblCheck.TabIndex = 5
"
"lblResults
"
Me.lblResults.Location = New System.Drawing.Point(56, 192)
Me.lblResults.Name = "lblResults"
Me.lblResults.Size = New System.Drawing.Size(152, 24)
Me.lblResults.TabIndex = 6
"
"btnClear
"
Me.btnClear.Location = New System.Drawing.Point(88, 240)
Me.btnClear.Name = "btnClear"
Me.btnClear.TabIndex = 7
Me.btnClear.Text = "Clear"
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(264, 293)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.btnClear, Me.lblResults, Me.lblCheck, Me.lblTrue, Me.Label3, Me.Label2, Me.txtInput, Me.Label1})
Me.Name = "Form1"
Me.Text = "ISBN Validation"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub IsbnValidation(ByVal sender As Object, ByVal e As System.ruponentModel.CancelEventArgs) Handles txtInput.Validating
Console.WriteLine("validating")
End Sub
Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
txtInput.Text = ""
lblResults.Text = ""
lblTrue.Text = ""
lblCheck.Text = ""
End Sub
Private Sub txtInput_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtInput.KeyPress
Dim keyChar As Char
keyChar = e.KeyChar
" Suppress any keys except digits,X,x,hyphen (45),Backspace (8),or Enter (13)
If ((Not Char.IsDigit(keyChar)) _
And (AscW(keyChar) <> 8) _
And (AscW(keyChar) <> 13) _
And (keyChar <> "X"c) _
And (keyChar <> "x"c) _
And (AscW(keyChar) <> 45)) Then
" Do not display the keystroke
e.Handled = True
End If
End Sub
End Class
Key event summary
Imports System.Windows.Forms
public class KeyEventSummary
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Inherits System.Windows.Forms.Form
#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
"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
"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.
Friend WithEvents txtInput As System.Windows.Forms.TextBox
Friend WithEvents txtMsg As System.Windows.Forms.TextBox
Friend WithEvents btnReset As System.Windows.Forms.Button
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents lblUpper As System.Windows.Forms.Label
Friend WithEvents lblLower As System.Windows.Forms.Label
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.txtInput = New System.Windows.Forms.TextBox()
Me.txtMsg = New System.Windows.Forms.TextBox()
Me.btnReset = New System.Windows.Forms.Button()
Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.lblUpper = New System.Windows.Forms.Label()
Me.lblLower = New System.Windows.Forms.Label()
Me.SuspendLayout()
"
"txtInput
"
Me.txtInput.Location = New System.Drawing.Point(8, 8)
Me.txtInput.Name = "txtInput"
Me.txtInput.TabIndex = 0
Me.txtInput.Text = ""
"
"txtMsg
"
Me.txtMsg.Location = New System.Drawing.Point(8, 40)
Me.txtMsg.Multiline = True
Me.txtMsg.Name = "txtMsg"
Me.txtMsg.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
Me.txtMsg.Size = New System.Drawing.Size(304, 232)
Me.txtMsg.TabIndex = 1
Me.txtMsg.TabStop = False
Me.txtMsg.Text = ""
"
"btnReset
"
Me.btnReset.Location = New System.Drawing.Point(328, 8)
Me.btnReset.Name = "btnReset"
Me.btnReset.TabIndex = 2
Me.btnReset.Text = "Reset"
"
"Label1
"
Me.Label1.Location = New System.Drawing.Point(320, 56)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(40, 16)
Me.Label1.TabIndex = 3
Me.Label1.Text = "Upper:"
"
"Label2
"
Me.Label2.Location = New System.Drawing.Point(320, 104)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(40, 16)
Me.Label2.TabIndex = 4
Me.Label2.Text = "Lower:"
"
"lblUpper
"
Me.lblUpper.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.lblUpper.Location = New System.Drawing.Point(368, 56)
Me.lblUpper.Name = "lblUpper"
Me.lblUpper.Size = New System.Drawing.Size(32, 23)
Me.lblUpper.TabIndex = 5
"
"lblLower
"
Me.lblLower.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.lblLower.Location = New System.Drawing.Point(368, 104)
Me.lblLower.Name = "lblLower"
Me.lblLower.Size = New System.Drawing.Size(32, 23)
Me.lblLower.TabIndex = 6
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(417, 293)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.lblLower, Me.lblUpper, Me.Label2, Me.Label1, Me.btnReset, Me.txtMsg, Me.txtInput})
Me.Name = "Form1"
Me.Text = "Key Event Demonstrator"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click
txtMsg.Text = ""
txtInput.Text = ""
lblUpper.Text = ""
lblLower.Text = ""
End Sub
Private Sub txtInput_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtInput.KeyPress
Dim keyChar As Char
keyChar = e.KeyChar
Console.WriteLine("KeyPress event.")
Console.WriteLine("KeyChar: " + keyChar)
Console.WriteLine("KeyChar Code: " + AscW(keyChar).ToString())
txtMsg.AppendText("Handled: " + e.Handled.ToString())
" Fill in the Upper and Lower labels
lblUpper.Text = keyChar.ToString().ToUpper()
lblLower.Text = keyChar.ToString().ToLower()
" Change $ to #
If (keyChar.ToString() = "$") Then
txtInput.AppendText("#")
e.Handled = True
End If
End Sub
Private Sub KeyMsgBox(ByVal str As String, ByVal e As KeyEventArgs)
Console.WriteLine(str + " event.")
Console.WriteLine("KeyCode name: " + e.KeyCode.ToString())
Console.WriteLine("KeyCode key code: " + CInt(e.KeyCode).ToString())
Console.WriteLine("KeyData name: " + e.KeyData.ToString())
Console.WriteLine("KeyData key code: " + CInt(e.KeyData).ToString())
Console.WriteLine("KeyValue: " + e.KeyValue.ToString() )
Console.WriteLine("Handled: " + e.Handled.ToString())
End Sub
Private Sub txtInput_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtInput.KeyDown
KeyMsgBox("KeyDown", e)
End Sub
Private Sub txtInput_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtInput.KeyUp
KeyMsgBox("KeyUp", e)
End Sub
End Class
Shift Key
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class KeyCodeRangeShift
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Inherits System.Windows.Forms.Form
#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
"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
"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.
Friend WithEvents Label1 As System.Windows.Forms.Label
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.Label1 = New System.Windows.Forms.Label
Me.SuspendLayout()
"
"Label1
"
Me.Label1.Location = New System.Drawing.Point(56, 80)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(184, 200)
Me.Label1.TabIndex = 0
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.Controls.Add(Me.Label1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode >= Keys.A And e.KeyCode <= Keys.Z Then
If e.Shift Then
Label1.Text &= Chr(e.KeyCode)
Else
Label1.Text &= Char.ToLower(Chr(e.KeyCode))
End If
End If
End Sub
Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
Label1.Text &= e.KeyChar
End Sub
End Class