[VB.NET] Hướng dẫn viết ứng dụng tạo bàn phím ảo (On screen keyboard)
Bài viết hôm nay, mình sẽ hướng dẫn các bạn tạo bàn phím ảo ( On screen Keyboard ) trong lập trình bằng ngôn ngữ VB.NET . Nếu các bạn nào đã từng sử dụng bàn phím ảo, để đăng nhập game, khỏi bị bắt bởi Keylog... Tùy theo mục đích của các bạn, có ...
Bài viết hôm nay, mình sẽ hướng dẫn các bạn tạo bàn phím ảo (On screen Keyboard) trong lập trình bằng ngôn ngữ VB.NET.
Nếu các bạn nào đã từng sử dụng bàn phím ảo, để đăng nhập game, khỏi bị bắt bởi Keylog...
Tùy theo mục đích của các bạn, có thể sử dụng chúng trong ứng dụng của mình
Để viết ứng dụng tạo bàn phím ảo, các bạn tạo giao diện demo như hình bên dưới:
Trong hình thiết kế ứng dụng bên trên, mỗi nút nhấn là một button. Khi các bạn click vào button nào thì lấy giá trị của button đó.
Mình chỉ hướng dẫn các bạn code các phím chức năng đặc biệt như: shift, Tab, Caplocks, Enter...
Dưới dây là source code VB.NET
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
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
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
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:
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:
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
Private Sub Space_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Space.Click TextBox1.Text = TextBox1.Text & " " End Sub
HAVE FUN :)
Theo http://www.visual-basic-tutorials.com