Announcement

Collapse
No announcement yet.

Bắt sự kiện bàn phím!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Bắt sự kiện bàn phím!

    Mình viết bắt sự kiện bàn phím khi nhấn phím nào thì phím đó đổi màu. Nhưng gặp chút vấn đề: Trong đoạn code mình viết khi click vào Button sau đó gõ phím tương ứng thì mới đổi màu button đó. Bạn nào sửa lại dùm mình là không cần click vào Button không? ( giống như máy chương trình tập gõ bàn phím)
    Cám ơn nhiều!
    Code:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            private void button67_W(object sender, KeyEventArgs e)
            {
                if (e.KeyCode ==Keys.W)
                {
                    button67.BackColor = Color.DarkOrange;
                }
                
            }
            private void button67_W2(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.W)
                {
                    button67.BackColor = Color.MintCream;
                }
    
            }
    
            private void button1_Q(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Q)
                {
                    button1.BackColor = Color.DarkOrange;
                }
                
    
            }
    
            private void button1_Q2(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Q)
                {
                    button1.BackColor = Color.MintCream;
                }
    
            }
           
        }
    }
    Code:
    namespace WindowsFormsApplication1
    {
        partial class Form1
        {
            /// <summary>
            /// Required designer variable.
            /// </summary>
            private System.ComponentModel.IContainer components = null;
    
            /// <summary>
            /// Clean up any resources being used.
            /// </summary>
            /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }
    
            #region Windows Form Designer generated code
    
            /// <summary>
            /// Required method for Designer support - do not modify
            /// the contents of this method with the code editor.
            /// </summary>
            private void InitializeComponent()
            {
                this.button67 = new System.Windows.Forms.Button();
                this.button1 = new System.Windows.Forms.Button();
                this.SuspendLayout();
                // 
                // button67
                // 
                this.button67.BackColor = System.Drawing.Color.MintCream;
                this.button67.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                this.button67.ForeColor = System.Drawing.Color.Navy;
                this.button67.Location = new System.Drawing.Point(154, 81);
                this.button67.Name = "button67";
                this.button67.Size = new System.Drawing.Size(54, 48);
                this.button67.TabIndex = 75;
                this.button67.Text = "W";
                this.button67.UseVisualStyleBackColor = false;
                this.button67.KeyDown += new System.Windows.Forms.KeyEventHandler(this.button67_W);
                this.button67.KeyUp += new System.Windows.Forms.KeyEventHandler(this.button67_W2);
                // 
                // button1
                // 
                this.button1.BackColor = System.Drawing.Color.MintCream;
                this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                this.button1.ForeColor = System.Drawing.Color.Navy;
                this.button1.Location = new System.Drawing.Point(240, 81);
                this.button1.Name = "button1";
                this.button1.Size = new System.Drawing.Size(54, 48);
                this.button1.TabIndex = 76;
                this.button1.Text = "Q";
                this.button1.UseVisualStyleBackColor = false;
                this.button1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.button1_Q);
                this.button1.KeyUp += new System.Windows.Forms.KeyEventHandler(this.button1_Q2);
                // 
                // Form1
                // 
                this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                this.ClientSize = new System.Drawing.Size(380, 218);
                this.Controls.Add(this.button1);
                this.Controls.Add(this.button67);
                this.Name = "Form1";
                this.Text = "Form1";
                this.ResumeLayout(false);
    
            }
    
            #endregion
    
            private System.Windows.Forms.Button button67;
            private System.Windows.Forms.Button button1;
    
        }
    }

  • #2
    gom tất cả những code event trong mấy cái buttonEvent đó vô event KeyDown or KeyPress của Form1 nhé.
    sao không tham gia ITIC đi em tụi anh sẽ hưỡng dẫn tận tình: https://www.facebook.com/groups/ITIClub/

    Comment


    • #3
      Bạn học LTW sáng thứ 7 hả? Mình cũng đang làm bài này. Đang bí chỗ phím windows, mũi tên mình dùng hình chèn vô nhưng nó không đổi màu được. Ai giúp với!

      Comment


      • #4
        Bạn để sự kiện nhấn 1 phím từ bàn phím thì bạn nên để trong event FormLoad. Còn Click thì khi bạn lick vào 1 button trên form nó sẽ tự động đổi màu luôn. Chứ bạn để if( e.keycode) trong event click nữa mình nghĩ là k đc.

        Comment


        • #5
          Originally posted by 10520413 View Post
          gom tất cả những code event trong mấy cái buttonEvent đó vô event KeyDown or KeyPress của Form1 nhé.
          sao không tham gia ITIC đi em tụi anh sẽ hưỡng dẫn tận tình: https://www.facebook.com/groups/ITIClub/
          làm mẫu đc hông? e gom hồi lỗi tùm lum!!!

          Comment


          • #6
            đúng rồi đang làm bài thầy giao!

            Comment


            • #7
              Originally posted by 11520328 View Post
              làm mẫu đc hông? e gom hồi lỗi tùm lum!!!
              nóng hổi:
              MediaFire is a simple to use free service that lets you put all your photos, documents, music, and video in a single place so you can access them anywhere and share them everywhere.

              Comment


              • #8
                Mình thấy vấn đề không đơn giản khi càng làm càng gặp khó khăn. Khi visual không hỗ trợ hết tất cả bàn phím. Mình tìm mấy phím dấu -, >,<,?,~,\ nhưng không thấy. Nhấn nhiều phím một lúc làm đơ bàn phím.

                Comment


                • #9
                  Originally posted by 11520451 View Post
                  Mình thấy vấn đề không đơn giản khi càng làm càng gặp khó khăn. Khi visual không hỗ trợ hết tất cả bàn phím. Mình tìm mấy phím dấu -, >,<,?,~,\ nhưng không thấy. Nhấn nhiều phím một lúc làm đơ bàn phím.
                  VS có hỗ trợ mà bạn:
                  PHP Code:
                  e.Modifiers == Keys.Shift && e.KeyCode == Keys.Oemcomma // Keys <
                  e.Modifiers == Keys.Shift && e.KeyCode == Keys.OemPeriod // Keys >
                  e.KeyCode == Keys.Oem5 // Keys \
                  .... 
                  Bạn có thể tìm hiểu thêm ở đây: http://msdn.microsoft.com/en-us/libr...input.key.aspx
                  Get link VIP FShare
                  http://linhf.com/fshare
                  To the world you may be one person, but to one person you may be the world.

                  Comment


                  • #10
                    Tình hình là còn mấy phím chưa làm được (4 Mũi tên,Tab, Enter, shift trái phải, control trái phải, Alt trái phải), mai thầy test rồi. Ai giúp với!!!!!!

                    Comment


                    • #11
                      mấy nút đó em phải đụng tới IsInputKey chứ ko làm như cách a đưa được. tự mò ha

                      Comment


                      • #12
                        Originally posted by 11520451 View Post
                        Tình hình là còn mấy phím chưa làm được (4 Mũi tên,Tab, Enter, shift trái phải, control trái phải, Alt trái phải), mai thầy test rồi. Ai giúp với!!!!!!
                        tab, 4 mũi tên, enter thì t làm như thế này (làm cho keydown và keyup) , còn shift, control, alt thì làm không được, chỉ nhấn được nút bên trái, còn nhấn bên phải mà bên trái đổi màu :shot:
                        Code:
                        if (e.KeyCode == Keys.Tab)
                            labtab.BackColor = Color.Red;
                        if (e.KeyCode == Keys.Enter)
                            labenter.BackColor = Color.Red;
                        if (e.KeyCode == Keys.Up)
                            labup.BackColor = Color.Red;
                        if (e.KeyCode == Keys.Down)
                            labdown.BackColor = Color.Red;
                        if (e.KeyCode == Keys.Right)
                            labright.BackColor = Color.Red;
                        if (e.KeyCode == Keys.Left)
                            lableft.BackColor = Color.Red;
                         if (e.KeyCode == Keys.Enter)
                            labenter.BackColor = Color.YellowGreen;
                        p/s: cái bài thứ 2 là làm gì thế :aboom:
                        Một lần không làm nên thói quen, nhưng thói quen bắt đầu từ một lần

                        Comment


                        • #13
                          Bài Scrible có ai biết chỉ dùm luôn đi!

                          Comment


                          • #14
                            bàn phím ảo đổi màu làm chưa xong đừng mơ tới làm con chuột vẽ hình nha bạn.

                            Comment


                            • #15
                              Originally posted by 11520328 View Post
                              Bài Scrible có ai biết chỉ dùm luôn đi!
                              Cho mình xin cái đề đầy đủ đi.

                              Comment

                              LHQC

                              Collapse
                              Working...
                              X