- [VB.NET] Hướng dẫn giải captcha sử dụng dịch vụ AZCaptcha API trên winform
- [C#] Hướng dẫn chứng thực đăng nhập ứng dụng bằng vân tay (Finger Print) trên máy tính
- [C#] Color Thief cách xuất màu sắc thiết kế từ hình ảnh
- [C#] Cách tạo bản quyền và cho phép dùng thử ứng dụng Winform
- [C#] Hướng dẫn sử dụng trình duyệt web Chrome convert HTML sang tập tin file PDF
- [C#] Kết nôi điện thoại Android, IOS với App Winform via Bluetooth
- [DATABASE] Cách query cộng trừ dồn dần trong Sqlserver
- [C#] Thiết kế ứng dụng Console đẹp với thư viện Spectre.Console
- [C#] Thiết kế ứng dụng Single Instance và đưa ứng dụng lên trước nếu kiểm tra ứng dụng đang chạy
- [C#] Giới thiệu JSON Web Token và cách đọc chuỗi token
- [C#] Cách tăng giảm font chữ tất cả các control trên winform
- [DEVEXPRESS] Tích hợp chức năng Tìm kiếm Search vào CheckedComboboxEdit
- [C#] Gởi email Metting Calendar Reminder kèm nhắc thời gian lịch họp
- [C#] Tìm kiếm xem danh sách từ khóa có tồn tại trong đoạn văn bản hay không
- [C#] Thiết kế giao diện ứng dụng trên Console sử dụng thư viện Terminal.Gui
- [C#] Hướng dẫn tạo mã VietQR Payment API Winform
- [C#] Sử dụng thư viện BenchmarkDotNet đo hiệu năng của hảm Method
- [DEVEXPRESS] Tìm kiếm không dấu tô màu highlight có dấu trên C# Winform
- [C#] Chia sẻ source code tạo hiệu ứng pixel Image trên winform
- [C#] Hướng dẫn kiểm tra số Container hợp lệ hay không
[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ó 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