Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 15 kết quả

Đề tài: Làm thế nào để khi bấm 1 phím trên bàn phím thì sẽ thực hiện 1 lệnh?

  1. #1
    Ngày gia nhập
    04 2010
    Bài viết
    41

    Mặc định Làm thế nào để khi bấm 1 phím trên bàn phím thì sẽ thực hiện 1 lệnh?

    Mình có 1 form1 có chứa 1 label 1. Khi form1 chạy mình muốn khi bấm phím số 1 trên bàn phím thì màu chữ label chuyển thành màu đỏ, còn khi bấm phím số 2 trên bàn phím thì màu chữ label trở lại màu đen. Mình chưa biết cách xử lý việc bấm phím trên bàn phím thì sẽ thực hiện được lệnh nên lập topic này rất mong được sự giúp đỡ của các bạn. Cảm ơn các bạn rất nhiều !
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

  2. #2
    Ngày gia nhập
    03 2009
    Bài viết
    267

    Trích dẫn Nguyên bản được gửi bởi nguyenkhanhminh Xem bài viết
    Mình có 1 form1 có chứa 1 label 1. Khi form1 chạy mình muốn khi bấm phím số 1 trên bàn phím thì màu chữ label chuyển thành màu đỏ, còn khi bấm phím số 2 trên bàn phím thì màu chữ label trở lại màu đen. Mình chưa biết cách xử lý việc bấm phím trên bàn phím thì sẽ thực hiện được lệnh nên lập topic này rất mong được sự giúp đỡ của các bạn. Cảm ơn các bạn rất nhiều !
    Cái này là liên quan tới hook keyboard rồi cậu vào xem demo
    http://www.codeproject.com/KB/cs/CSLLKeyboardHook.aspx

  3. #3
    Ngày gia nhập
    04 2010
    Bài viết
    77

    Code:
    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
                   if (e.KeyData == Keys.D1) label1.ForeColor=Color.Red;
                   if (e.KeyData == Keys.D2) label1.ForeColor=Color.Black;
    }
    Bạn có thể dùng switch case cũng được

  4. #4
    Ngày gia nhập
    03 2009
    Bài viết
    267

    Trích dẫn Nguyên bản được gửi bởi nhocjerry Xem bài viết
    Code:
    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
                   if (e.KeyData == Keys.D1) label1.ForeColor=Color.Red;
                   if (e.KeyData == Keys.D2) label1.ForeColor=Color.Black;
    }
    Bạn có thể dùng switch case cũng được
    Hình như cách này của cậu khi ra ngoài form sẽ không được phải ko?

  5. #5
    Ngày gia nhập
    04 2010
    Bài viết
    41

    2 bạn hiểu sai ý của mình rồi. ý của mình là trên form1 của mình chỉ có label1. Khi chạy form1 nếu mình bấm vào phím số 1 trên bàn phím thì màu chữ của label1 chuyển sang đỏ. còn khi mình bấm vào phím số 2 trên bàn phím thì màu chữ label chuyển sang đen.

  6. #6
    Ngày gia nhập
    06 2009
    Bài viết
    419

    Mặc định Làm thế nào để khi bấm 1 phím trên bàn phím thì sẽ thực hiện 1 lệnh?

    Visual C# Code:
    1. protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    2.         {
    3.             switch (keyData)
    4.             {
    5.                 case Keys.NumPad1:
    6.                     {
    7.                         // 1
    8.                         break;
    9.                     }
    10.                 case Keys.Add:
    11.                     {
    12.                         // +
    13.                         break;
    14.                     }                
    15.                
    16.                 default:
    17.                     {
    18.                         break;
    19.                     }    
    20.             }

    phải thế này không ?
    http://forums.congdongcviet.com/showthread.php?t=39192

  7. #7
    Ngày gia nhập
    06 2009
    Nơi ở
    Cái hộp
    Bài viết
    1,255

    Cách của Riku chỉ sử dụng trong Form. Window cung cấp sẵn API RegistryHotKey, bạn hãy search để xem ví dụ
    Men talk of killing time, while time quietly kills them.
    Time is what we want most, but what we use worst.
    ------------------------------
    YinYang's Programming Blog

  8. #8
    Ngày gia nhập
    03 2010
    Nơi ở
    Nơi nào đó trong vũ trụ
    Bài viết
    550

    Nếu trong form thì bắt sự kiện nhấn phím rồi tiến hành xử lý.
    Nếu ở ngoài form thì hook bàn phím, rồi tiến hành xử lý.
    Gió thu lạnh lẽo hắt hiu lòng!

  9. #9
    Ngày gia nhập
    06 2009
    Bài viết
    419

    ủa, mình tưởng bạn ý hỏi trong form ?

  10. #10
    Ngày gia nhập
    04 2010
    Bài viết
    77

    Trích dẫn Nguyên bản được gửi bởi nguyenkhanhminh Xem bài viết
    2 bạn hiểu sai ý của mình rồi. ý của mình là trên form1 của mình chỉ có label1. Khi chạy form1 nếu mình bấm vào phím số 1 trên bàn phím thì màu chữ của label1 chuyển sang đỏ. còn khi mình bấm vào phím số 2 trên bàn phím thì màu chữ label chuyển sang đen.
    Thì bài mình làm là như thế mà bạn?
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

Các đề tài tương tự

  1. Algorithm Khi chọn dữ liệu trên Datagridview Radiobutton sẽ được check tự động
    Gửi bởi wind9k trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 20-10-2011, 07:57 AM
  2. C# Object nào sẽ nằm trên ( hiển thị bên trên )
    Gửi bởi qhhqnavy trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 27-04-2011, 08:09 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn