⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formmain.vb

📁 Programming the .NET Compact Framework with vb 源代码
💻 VB
字号:
' FormMain.vb - Main form for KeyInput sample.
'
' Code from _Programming the .NET Compact Framework with C#_
' and _Programming the .NET Compact Framework with VB_
' (c) Copyright 2002-2003 Paul Yao and David Durant. 
' All rights reserved.

Namespace KeyInput
Public Class FormMain
    Inherits System.Windows.Forms.Form
      Friend WithEvents menuMain As System.Windows.Forms.MainMenu
      Friend WithEvents textInput As System.Windows.Forms.TextBox
      Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem
      Friend WithEvents mitemEditClear As System.Windows.Forms.MenuItem
      Friend WithEvents lviewOutput As System.Windows.Forms.ListView
      Friend WithEvents columnHeader1 As System.Windows.Forms.ColumnHeader
      Friend WithEvents columnHeader2 As System.Windows.Forms.ColumnHeader
      Friend WithEvents columnHeader3 As System.Windows.Forms.ColumnHeader
      Friend WithEvents columnHeader4 As System.Windows.Forms.ColumnHeader
      Friend WithEvents columnHeader5 As System.Windows.Forms.ColumnHeader

#Region " Windows Form Designer generated code "

    Public Sub New()
        MyBase.New()

        'This call is required by the Windows Form Designer.
        InitializeComponent()

         ' Delegate to be called back when a new event is available.
         m_deleNewEvent = New EventHandler(AddressOf NewEvent)

         ' Put our text box (TextEventSpy) in place of 
         ' default TextBox
         textspy = New TextEventSpy(Me, m_deleNewEvent)
         textspy.Location = textInput.Location
         textspy.Size = textInput.Size
         textspy.Text = textInput.Text
         Me.Controls.Add(textspy)
         Me.Controls.Remove(textInput)
         textspy.Focus()

    End Sub

    'Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        MyBase.Dispose(disposing)
    End Sub

    '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 sipMain As Microsoft.WindowsCE.Forms.InputPanel
    Private Sub InitializeComponent()
Me.menuMain = New System.Windows.Forms.MainMenu
Me.MenuItem1 = New System.Windows.Forms.MenuItem
Me.mitemEditClear = New System.Windows.Forms.MenuItem
Me.textInput = New System.Windows.Forms.TextBox
Me.lviewOutput = New System.Windows.Forms.ListView
Me.columnHeader1 = New System.Windows.Forms.ColumnHeader
Me.columnHeader2 = New System.Windows.Forms.ColumnHeader
Me.columnHeader3 = New System.Windows.Forms.ColumnHeader
Me.columnHeader4 = New System.Windows.Forms.ColumnHeader
Me.columnHeader5 = New System.Windows.Forms.ColumnHeader
Me.sipMain = New Microsoft.WindowsCE.Forms.InputPanel
'
'menuMain
'
Me.menuMain.MenuItems.Add(Me.MenuItem1)
'
'MenuItem1
'
Me.MenuItem1.MenuItems.Add(Me.mitemEditClear)
Me.MenuItem1.Text = "Edit"
'
'mitemEditClear
'
Me.mitemEditClear.Text = "Clear"
'
'textInput
'
Me.textInput.Location = New System.Drawing.Point(8, 8)
Me.textInput.Size = New System.Drawing.Size(224, 22)
Me.textInput.Text = ""
'
'lviewOutput
'
Me.lviewOutput.Columns.Add(Me.columnHeader1)
Me.lviewOutput.Columns.Add(Me.columnHeader2)
Me.lviewOutput.Columns.Add(Me.columnHeader3)
Me.lviewOutput.Columns.Add(Me.columnHeader4)
Me.lviewOutput.Columns.Add(Me.columnHeader5)
Me.lviewOutput.Location = New System.Drawing.Point(0, 48)
Me.lviewOutput.Size = New System.Drawing.Size(240, 222)
Me.lviewOutput.View = System.Windows.Forms.View.Details
'
'columnHeader1
'
Me.columnHeader1.Text = "Event"
Me.columnHeader1.Width = 60
'
'columnHeader2
'
Me.columnHeader2.Text = "Char"
Me.columnHeader2.Width = 40
'
'columnHeader3
'
Me.columnHeader3.Text = "Code"
Me.columnHeader3.Width = 50
'
'columnHeader4
'
Me.columnHeader4.Text = "Val"
Me.columnHeader4.Width = 40
'
'columnHeader5
'
Me.columnHeader5.Text = "Mod"
Me.columnHeader5.Width = 40
'
'sipMain
'
'
'FormMain
'
Me.Controls.Add(Me.lviewOutput)
Me.Controls.Add(Me.textInput)
Me.Menu = Me.menuMain
Me.MinimizeBox = False
Me.Text = "Key Input"

    End Sub

#End Region

      ' Our data members
      Private textspy As TextEventSpy
      Private m_deleNewEvent As EventHandler

      Private Sub sipMain_EnabledChanged(ByVal sender As Object, _
      ByVal e As System.EventArgs) Handles sipMain.EnabledChanged
              ' SIP is open
         If (sipMain.Enabled) Then
            ' Adjust list view height to make room for SIP.
            lviewOutput.Height = Me.Height - _
               lviewOutput.Top - _
               sipMain.Bounds.Height() _
               + 1
         Else ' SIP is closed
            ' Adjust scroll bar height to form height.
            lviewOutput.Height = Me.Height - _
               lviewOutput.Top() _
               + 1
         End If

      End Sub

      Private Sub NewEvent(ByVal sender As Object, _
      ByVal e As System.EventArgs)
         Dim kei As KeyEventItem = textspy.kei
         Dim strEvent As String = ""
         Dim strChar As String = ""
         Dim strCode As String = ""
         Dim strValue As String = ""
         Dim strMod As String = ""

         ' Fetch event name.
         Select Case kei.etype
            Case EventType.Event_KeyDown
               strEvent = "KeyDown"
            Case EventType.Event_KeyPress
               strEvent = "KeyPress"
            Case EventType.Event_KeyUp
               strEvent = "KeyUp"
            Case EventType.Event_GotFocus
               strEvent = "GotFocus"
            Case EventType.Event_LostFocus
               strEvent = "LostFocus"
         End Select

         ' Fill in event details.
         If (kei.etype = EventType.Event_KeyUp Or _
         kei.etype = EventType.Event_KeyDown) Then
            strCode = kei.eUpDown.KeyCode.ToString()
            strValue = kei.eUpDown.KeyValue.ToString()
            If (kei.eUpDown.Control) Then
               strMod = "C "
            End If
            If (kei.eUpDown.Alt) Then
               strMod.Concat("A ")
            End If
            If (kei.eUpDown.Shift) Then
               strMod.Concat("S")
            End If
         End If

         If kei.etype = EventType.Event_KeyPress Then
            strChar = kei.ePress.KeyChar.ToString()
         End If

         Dim lvi As ListViewItem = New ListViewItem(strEvent)
         lvi.SubItems.Add(strChar)
         lvi.SubItems.Add(strCode)
         lvi.SubItems.Add(strValue)
         lvi.SubItems.Add(strMod)
         lviewOutput.Items.Add(lvi)
         Dim iItem As Integer = lviewOutput.Items.Count - 1
         lviewOutput.EnsureVisible(iItem)
      End Sub

      Private Sub FormMain_GotFocus(ByVal sender As Object, _
      ByVal e As System.EventArgs) Handles MyBase.GotFocus
         ' Set focus to edit control
         ' On error, set focus to textInput
         Try
            textspy.Focus()
         Catch ex As Exception
            textInput.Focus()
         End Try

      End Sub

      Private Sub mitemEditClear_Click(ByVal sender As Object, _
      ByVal e As System.EventArgs) Handles mitemEditClear.Click
         textspy.Text = String.Empty
         lviewOutput.Items.Clear()
         textspy.Focus()
      End Sub
End Class
End Namespace

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -