Tuesday 12 January 2016

 How to Make Onscreen Keyboard on visual basaic 2008, vb.net


 



The most important step is to place the keys (Buttons) on the form. In order to make it easy as A, B, C, I have included a map that shows the name of each button on the form:
The Red text in the following picture indicates on the name of each control. The black text indicates the text property of each button 

 


Below the picture shows how the Onscreen Keyboard look like: 

 


After preparing the form and adding the buttons on it according the same order of the first picture, let's program the buttons:
The following code will handle the click of all the typing keys. It will also check if the Shift key is pressed:


Typing Keys:
Private Sub Button28_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click, _

    Button8.Click, Button7.Click, Button6.Click, Button5.Click, Button48.Click, Button47.Click, _
    Button46.Click, Button45.Click, Button44.Click, Button43.Click, Button42.Click, Button41.Click, _
    Button40.Click, Button4.Click, Button39.Click, Button38.Click, Button37.Click, Button36.Click, _
    Button35.Click, Button34.Click, Button33.Click, Button32.Click, Button31.Click, Button30.Click, _
    Button3.Click, Button29.Click, Button28.Click, Button26.Click, Button25.Click, Button24.Click, _
    Button23.Click, Button22.Click, Button21.Click, Button20.Click, Button2.Click, Button19.Click, _
    Button18.Click, Button17.Click, Button16.Click, Button15.Click, Button14.Click, Button13.Click, _
    Button12.Click, Button11.Click, Button10.Click, Button1.Click 
        If ShiftR.FlatStyle = FlatStyle.Flat Then
            TextBox1.Text = TextBox1.Text + sender.text
            ShiftR.PerformClick()
        Else
TextBox1.Text = TextBox1.Text + sender.text
        End If
       
    End Sub

Backspace Key

The following code will handle the Backspace button click event:
Private Sub Back_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Back.Click

        If TextBox1.Text < " " Then
            TextBox1.Text = Mid(TextBox1.Text, 1, Len(TextBox1.Text) - 1 + 1)
        Else
            TextBox1.Text = Mid(TextBox1.Text, 1, Len(TextBox1.Text) - 1)
        End If
    End Sub



Enter Key
The following code will handle the Enter button click event:
Private Sub Enter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Enter.Click

        TextBox1.Text = TextBox1.Text & Environment.NewLine 
    End Sub
Righ and Left Shift Keys
The following code will handle both right and left Shift keys:
Private Sub ShiftR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ShiftR.Click, ShiftL.Click

If ShiftR.FlatStyle = FlatStyle.Flat Then
            ShiftR.FlatStyle = FlatStyle.Standard
            ShiftL.FlatStyle = FlatStyle.Standard
            For Each ctl As Control In Me.Controls
                If (ctl.Name.StartsWith("Button")) Then
                    Dim btn As Button = DirectCast(ctl, Button)
                    btn.Text = btn.Text.ToLower
                    Button1.Text = "1"
                    Button2.Text = "2"
                    Button3.Text = "3"
                    Button4.Text = "4"
                    Button5.Text = "5"
                    Button6.Text = "6"
                    Button7.Text = "7"
                    Button8.Text = "8"
                    Button9.Text = "9"
                    Button10.Text = "0"
                    Button11.Text = "-"
                    Button12.Text = "="
                    Button13.Text = "`"
                    Button14.Text = "\"
                    Button15.Text = "]"
                    Button16.Text = "["
                    Button29.Text = "'"
                    Button30.Text = ";"
                    Button28.Text = "/"
                    Button40.Text = "."
                    Button41.Text = ","
                End If 
            Next
        ElseIf ShiftR.FlatStyle = FlatStyle.Standard Then
            ShiftL.FlatStyle = FlatStyle.Flat
            ShiftR.FlatStyle = FlatStyle.Flat
            For Each ctl As Control In Me.Controls
                If (ctl.Name.StartsWith("Button")) Then
                    Dim btn As Button = DirectCast(ctl, Button)
                    btn.Text = btn.Text.ToUpper
                    Button1.Text = "!"
                    Button2.Text = "@"
                    Button3.Text = "#"
                    Button4.Text = "$"
                    Button5.Text = "%"
                    Button6.Text = "^"
                    Button7.Text = "&"
                    Button8.Text = "*"
                    Button9.Text = "("
                    Button10.Text = ")"
                    Button11.Text = "_"
                    Button12.Text = "+"
                    Button13.Text = "~"
                    Button14.Text = "|"
                    Button15.Text = "}"
                    Button16.Text = "{"
                    Button29.Text = """"
                    Button30.Text = ":"
                    Button28.Text = "?"
                    Button40.Text = ">"
                    Button41.Text = "<"
                End If
             Next
        End If
    End Sub


Caps Lock Key:
The following code will handle the Caps Lock button click event:

Private Sub Caps_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Caps.Click

        If Caps.FlatStyle = FlatStyle.Flat Then
            Caps.FlatStyle = FlatStyle.Standard
            Caps.BackColor = Color.FromKnownColor(KnownColor.Control)
            For Each ctl As Control In Me.Controls
                If (ctl.Name.StartsWith("Button")) Then
                    Dim btn As Button = DirectCast(ctl, Button)
                    btn.Text = btn.Text.ToLower
                    Button1.Text = "1"
                    Button2.Text = "2"
                    Button3.Text = "3"
                    Button4.Text = "4"
                    Button5.Text = "5"
                    Button6.Text = "6"
                    Button7.Text = "7"
                    Button8.Text = "8"
                    Button9.Text = "9"
                    Button10.Text = "0"
                    Button11.Text = "-"
                    Button12.Text = "="
                    Button13.Text = "`"
                    Button14.Text = "\"
                    Button15.Text = "]"
                    Button16.Text = "["
                    Button29.Text = "'"
                    Button30.Text = ";"
                    Button28.Text = "/"
                    Button40.Text = "."
                    Button41.Text = ","
                End If

            Next
        ElseIf Caps.FlatStyle = FlatStyle.Standard Then
            Caps.FlatStyle = FlatStyle.Flat
            Caps.BackColor = Color.LightGreen
            For Each ctl As Control In Me.Controls
                If (ctl.Name.StartsWith("Button")) Then
                    Dim btn As Button = DirectCast(ctl, Button)
                    btn.Text = btn.Text.ToUpper
                    Button1.Text = "!"
                    Button2.Text = "@"
                    Button3.Text = "#"
                    Button4.Text = "$"
                    Button5.Text = "%"
                    Button6.Text = "^"
                    Button7.Text = "&"
                    Button8.Text = "*"
                    Button9.Text = "("
                    Button10.Text = ")"
                    Button11.Text = "_"
                    Button12.Text = "+"
                    Button13.Text = "~"
                    Button14.Text = "|"
                    Button15.Text = "}"
                    Button16.Text = "{"
                    Button29.Text = """"
                    Button30.Text = ":"
                    Button28.Text = "?"
                    Button40.Text = ">"
                    Button41.Text = "<"
                End If

            Next
        End If
    End Sub


The Tab Key:
The following code will handle the Tab key click event:

Private Sub Tab_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tab.Click

        TextBox1.Text = TextBox1.Text & "   "
    End Sub 
The Space Key
The following code will handle the Space key click event:

Private Sub Space_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Space.Click

        TextBox1.Text = TextBox1.Text & " "
    End Sub










 

No comments:

Post a Comment