• 03-07-2014, 12:11:53
    #1
    Üyeliği durduruldu
    Arkadaşlar merhaba yaptığım bir bölümde. Giriş yapmak için iki tane butonum var mause ile giriyorum. "Aynı" ve "Farklı" olarak giriş yaptığımda program ona göre çalışıyor. İkisininde ortak Click eventi "answerButtons" şeklinde.

    Benim istediğim sağ sol ok tuşlarına giriş kodu verebilmek. Yani sol ok tuşuna basınca aynı olarak girsin(butona tıklasın) sağ ok tuşuna basınca da farklı olarak giriş yapsın.

    Ortak buttonların kodları

    private void answerButtons_Click(object sender, EventArgs e)
            {
                Button btn = (Button)sender;
    
                switch (btn.Text)
                {
                    case "Aynı":
                        if (m_game.Answer)
                        {
                            SetPictureBox(true);
                            m_game.TrueCounter++;
                        }
                        else
                        {
                            SetPictureBox(false);
                            m_game.FalseCounter++;
                        }
                        break;
                    case "Farklı":
                        if (m_game.Answer)
                        {
                            SetPictureBox(false);
                            m_game.FalseCounter++;
                        }
                        else
                        {
                            SetPictureBox(true);
                            m_game.TrueCounter++;
                        }
                        break;
                }
                int avg = m_game.TrueCounter - m_game.FalseCounter;
                m_labelAvg.Text = avg.ToString();
                m_timer2.Stop();
                m_buttonDiff.Visible = false;
                m_buttonSame.Visible = false;
                m_timer1.Start();
    
            }
    Benim sol sağ ok tuşları için oluşturduğum kod aşağıdaki gibi doğru olması lazım ama çalışmıyor sağ sol ok tuşları ile giriş yapamıyorum. Yardımcı olabilirseniz sevinirim.

    Benim yazdığım kod:
    private void Form6_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Left)
                {
                    Button btnsame = new Button();
                    btnsame.Text = "Aynı";
                    answerButtons_Click(m_buttonSame, null);
                   
               
                }
            else if (e.KeyCode == Keys.Right) 
                {
                    Button btndiff = new Button();
                    btndiff.Text = "Farklı";
                    answerButtons_Click(m_buttonDiff, null); 
    
                }   
              
             }
  • 06-07-2014, 00:08:02
    #2
    Üyeliği durduruldu
    Şu şekilde

     if (e.Button == MouseButtons.Left)
            {
              //
            }
            if (e.Button == MouseButtons.Right)
            {
              //
            }
    veya

     switch (MouseButtons)
                {
                    case System.Windows.Forms.MouseButtons.Left:
                      //
                        break;
                    case System.Windows.Forms.MouseButtons.Right:
                       //
                        break;
                    case System.Windows.Forms.MouseButtons.Middle:
                       //
                        break;
                }
    Bu şekilde dener misin?
  • 09-07-2014, 23:48:08
    #3
    keydown fonksiyonu yerine previewkeydown fonksiyonunu kullanmalısın
  • 11-07-2014, 15:04:51
    #4
    Üyeliği durduruldu
    Hocam bir sürü yerde denedim bir sürü kod yine giriş yapmıyor :S

      private void Form6_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Left)
                {
                    Button btnsame = new Button();
                    btnsame.Text = "Aynı";
                    answerButtons_Click(btnsame, null);
                             
                }
                else if (e.KeyCode == Keys.Right) 
                {
                    Button btndiff = new Button();
                    btndiff.Text = "Farklı";
                    answerButtons_Click(btndiff, null);
                }  
    
    
               switch (MouseButtons)
                {
                    case System.Windows.Forms.MouseButtons.Left:
                        Button btnsame = new Button();
                        btnsame.Text = "Aynı";
                        answerButtons_Click(btnsame, null);
                        break;
                    case System.Windows.Forms.MouseButtons.Right:
                        Button btndiff = new Button();
                        btndiff.Text = "Farklı";
                        answerButtons_Click(btndiff, null);
                        break;
                }
            }


          private void m_buttonSame_KeyDown(object sender, KeyEventArgs e)
            {
               if (e.KeyCode == Keys.Left)
                {
                    Button btnsame = new Button();
                    btnsame.Text = "Aynı";
                    answerButtons_Click(btnsame, null);
    
                }
    
            
            }
    
            private void m_buttonDiff_KeyDown(object sender, KeyEventArgs e)
            {
            
                if (e.KeyCode == Keys.Right)
                {
                    Button btndiff = new Button();
                    btndiff.Text = "Farklı";
                    answerButtons_Click(btndiff, null);
                }   
            }



      private void Form6_KeyPress(object sender, KeyPressEventArgs e)
            {
                switch (MouseButtons)
                {
                    case System.Windows.Forms.MouseButtons.Left:
                        Button btnsame = new Button();
                        btnsame.Text = "Aynı";
                        answerButtons_Click(btnsame, null);
                        break;
                    case System.Windows.Forms.MouseButtons.Right:
                        Button btndiff = new Button();
                        btndiff.Text = "Farklı";
                        answerButtons_Click(btndiff, null);
                        break;
    
                }
            }
    
            private void Form6_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
            {
                if (e.KeyCode == Keys.Left)
                {
                    Button btnsame = new Button();
                    btnsame.Text = "Aynı";
                    answerButtons_Click(btnsame, null);
    
                }
                else if (e.KeyCode == Keys.Right)
                {
                    Button btndiff = new Button();
                    btndiff.Text = "Farklı";
                    answerButtons_Click(btndiff, null);
                } 
            }