Tạo sự kiện nhấn phím tắt trong winform C#

Chào mọi người em có tham khảo về việc khi ấn tổ hợp phím ví dụ như Alt+H thì sẽ thoát chương trình nhưng sau khi em làm xong rồi em nhấn tổ hợp phím nó cứ kêu ting ting lên chứ không có thoát được ạ.Đây là code của em mọi người xem giúp em ạ.Em cảm ơn ạ.

private void btnThoat_Click(object sender, EventArgs e)
{
    Application.Exit();
}

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if(e.Alt== true && e.KeyCode == Keys.H)
    {
        btnThoat_Click(null, null);
    }
}

Ồ, sao không gọi Application.Exit() luôn.

Đặt thuộc tính Form.KeyPreview = true.

4 Likes

Chắc tính show cái message box bye bye rồi mới thoát á, có nhiều ý tưởng mà :yum::yum::yum:

2 Likes

Để tạo tổ hợp phím tắt bạn nên override phương thức ProcessCmdKey thay vì dùng KeyEvent.

5 Likes

Đầu tiên là phải tóm được sự kiện keydown. Tuy nhiên sự kiện keydown sẽ không xảy ra nếu con trỏ chuột đang focus vào một input nào đó (textbox, combobox, …). Cho nên mình sẽ bắt sự kiện PreviewKeyDown.
Hoặc chắc cú hơn sẽ override hàm WndProc.

Close app thì gọi this.Close() là được.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?