Thứ Hai, 5 tháng 8, 2013

Sự kiện bàn phím

Sự kiện bàn phím

Sự kiện bàn phím
KeyDown
KeyEventArgs
Bấm nút xuống
KeyPress
KeyPressEventArgs
Bấm phím bất kì
KeyUp
KeyEventArgs
Bấm nút lên


Tạo ứng dụng trong Windows Form dùng Visual Studio .NET đặt Name là Key Event. Thiết kế form như bên dưới với các điều khiển được đặt tên và thuộc tính như sau:
Control
Name
Property
Value
Form
Form1
Text
Key Events Demo
TextBox
txtInput
Multiline
False
TextBox
txtMsg
Multiline
True

Scrollbar
Vertical
Button
btnReset
Text
Reset
Label
Label1
Text
Lower:
Label
Label2
Text
Upper:
Label
lblUpper
Text
<Bỏ trống>
Label
lblLower
Text
<Bỏ trống>

* Gõ bổ sung vào file code Form1.cs và các phương thức xử lí sự kiện sau:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Key_Event_Demo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private string strMsg = "";

        private void btnReset_Click(object sender, EventArgs e)
        {
            strMsg = "";
            txtMsg.Text = strMsg;
            txtInput.Text = "";
            lblLower.Text = "";
            lblUpper.Text = "";

            txtInput.Focus();
        }

        private void KeyMsgBox(string str, KeyEventArgs e)
        {
            txtMsg.AppendText(str + " event." + "\r\n");
            txtMsg.AppendText("\t" + "KeyCode name: " + e.KeyCode + "\r\n");
            txtMsg.AppendText("\t" + "KeyCode key code: " + ((int)e.KeyCode) + "\r\n");
            txtMsg.AppendText("\t" + "KeyData name: " + e.KeyData + "\r\n");
            txtMsg.AppendText("\t" + "KeyData key code: " + ((int)e.KeyData) + "\r\n");
            txtMsg.AppendText("\t" + "KeyValue name: " + e.KeyValue + "\r\n");
            txtMsg.AppendText("\t" + "Handled: " + e.Handled  + "\r\n");
            txtMsg.AppendText("\r\n");
        }

        private void txtInput_KeyDown(object sender, KeyEventArgs e)
        {
            KeyMsgBox("KeyDown", e);
        }

        private void txtInput_KeyUp(object sender, KeyEventArgs e)
        {
            KeyMsgBox("Keyup", e);
        }

        private void txtInput_KeyPress(object sender, KeyPressEventArgs e)
        {
            char keyChar;
            keyChar = e.KeyChar;

            txtMsg.AppendText("KeyPress event." + "\r\n");
            txtMsg.AppendText("\t" + "KeyChar: " + keyChar + "\r\n");
            txtMsg.AppendText("\t" + "KeyChar Code: " + (int)keyChar + "\r\n");
            txtMsg.AppendText("\t" + "Handled: " + e.Handled + "\r\n");
            txtMsg.AppendText("\r\n");

            //Fill in the Upper and Lower labels
            lblUpper.Text = keyChar.ToString().ToUpper();
            lblLower.Text = keyChar.ToString().ToLower();

            //Change $ to #
            if (keyChar.ToString() == "$")
            {
                txtInput.AppendText("#");
                e.Handled = true;
            }
        }
    }
}

Kết quả chạy chương trình:

Demo project: Key Event Demo.rar

Không có nhận xét nào:

Đăng nhận xét