Menangkap tombol enter dengan Visual Basic
Dalam pembuatan program, user friendly merupakan syarat utama untuk keterpakaian program kita, dalam menggunakan sebuah aplikasi, biasanya untuk perpindahan antar isian (text box) pengguna yang awam lebih cenderung menggunakan tombol enter.
pada contoh disamping ada 3 buah isian text, untuk kode nasabah (txtKode), nama nasabah (txtNama), dan alamat (txtAlamat), biasanya setelah mengisi kode nasabah maka pengguna akan menekan tombol enter untuk pindah ke nama nasabah, setelah selesai dengan itu akan kembali menekan tombol enter untuk alamat nasabah. begitu seterusnya yang terjadi.
Sedangkan settingan default untuk visual basic perpindahan antar kontrol, dalam hal ini textbox dilakukan dengan menggunakan tombol tab, logikanya sekarang adalah bagaimana caranya, kalau user menekan tombol enter, yang dijalankan adalah tombol tab, bukan begitu?
Tab Index
Pertama yang harus kita set adalah property tab index, properti ini ada pada masing-masing control yang ada pada form. Tab index berfungsi untuk menentukan urutan-urutan penekanan tombol tab, jadi misalnya kita set nama nasabah dengan tabindex=2, sedangkan alamat dengan tabindex=3, maka ketika form sedang aktif pada nama nasabah, ketika kita tekan tombol tab, program secara otomatis memindahkan focus cursor pada control dengan tabindex yang lebih besar. Dalam hal ini tentu saja pindahnya adalah ke textbox alamat.
Tab index dimulai dari basis 0, jadi setlah txtkode.tabindex=0, txtnama.tabindex=1, dan txtalamat.tabindex=2, ubahlah melalui jendela property saja.
Key Preview
Penekanan tombol, sebenarnya dimulai pada control yang aktif, jadi misalnya kalau kita sedang aktif pada txtalamat, yang pertama kali mengetahui penekanan tombol adalah txtalamat. Namun ada property key preview pada form yang bisa dimanfaatkan, agar penekanan tombol pertama kali tidak dibaca oleh kontrol yang aktif, tetapi oleh form, kalau kita membaca penekanan tombol pada setiap kontrol berarti setiap kontrol harus kita buat kodenya dong, boros kan....
Aturlah properti .Keypreview pada form menjadi True, setting defaultnya adalah false
Coding
1: Private Sub Form_KeyPress(KeyAscii As Integer)
2: If KeyAscii = 13 Then
3: SendKeys "{tab}"
4: KeyAscii = 0
5: End If
6: End Sub
berikutnya kita harus menambahkan coding diatas kedalam form, event yang digunakan adalah event KeyPress, event keypress artinya ketika sebuah tombol ditekan pada form, dan karena keyPreview sudah kita set dengan true maka walaupun kursor bukan berada pada form, tetapi pada textbox, perintah ini tetap akan terbaca (berlaku kebalikan jika keypreview tidak diset dengan true
Baris kedua mengindikasikan kita memeriksa tombol yang ditekan oleh pengguna, jika keyAscii yang ditekan pengguna adalah 13 berarti pengguna telah menekan tombol enter. baris ke 3 program merupakan inti yang kita jelaskan diatas, mengirimkan perintah penekanan tombol tab dengan menggunakan fungsi sendkeys. selanjutnya pada baris ke 4 program kita mengeset keyascii=0 agar tombol enter tersebut tidak terekam pada kontrol teks, atau kontrol lainnya.
ass
BalasHapusterima kasih krn sudah berbagi atas ilmu nya...ni saya manggil nya bpk/uda apa om nich???
ya pkoknya thanks berat d....
sya dah doenload swmua yang saya kira lum mngerti,y pdhal lum ngerti semua nya...hehe...
wass
terima kasih banyak mas, share ilmunya membantu saya bikin tugas kuliah,
BalasHapusterima kasih banyak
BalasHapusterima kasih banyak atas tutorial nya..
BalasHapus@all: sama-sama mas semua, senang sekali ada gunanya, serius, senang sekali :D
BalasHapuskeren mas isi situsnya. terima kasih banyak atas info2 nya neeh..
BalasHapusmas,mau tanya...
BalasHapusklau in putan click di ganti sama penekann lain gimana???
miasal aq punya microcontroler yg di hubungkan ke pc lewat com seria.trus saat portA.1 aktif maka penekanan pada Command1 aktif.trus saat portA.2 aktif maka Command2 yang aktif....
itu gimana caranya mas????
MAKASIH BANGET, SEMOGA ANDA MENDAPATKAN PAHALA YANG SEBESAR-BESARNYA..AMIN..
BalasHapusmas mohon petunjuknya...masih banyak belajar nih
BalasHapus[Tanya|VB6|VBNET]
mohon bantuannya program antrian
Asslam ...para master mohon petunjuknya...aq masih Newbie...
aku bikin program antrian yang nanti menggunakan 2 tampilan monitor..
monitor 1 untuk operator dan monitor 2 untuk para penunggu antrian..
nah gimana agar yang muncul di monitor 2 hanya no antriannya saja #:-s ...trimakasih
#mohon bantuannya ini alamat email saya mas pinouts66@yahoo.com