打字导师帮助C#

时间:2013-01-17 15:28:26

标签: c# winforms

我正致力于在C#上输入tutor简单项目

enter image description here

Plz任何人帮助我,我有一个问题..我在按钮后面编码

private void btnq_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyValue == 81)
        {
            i = Convert.ToInt16(rtb1.Text.IndexOf('q'));

            if (i == 0)
            {

                rtb1.Text = rtb1.Text.Remove(0, 1);
            }

        }
    }

当我调试项目并从键盘按Q键时没有发生任何事情..但是当我点击Q按钮时单击鼠标((我为鼠标点击事件编写代码但其工作正常))它工作,然后点击现在,如果我从键盘按Q按钮然后它工作..当我第一次从键盘按键时,为什么不工作..

我错了吗?请帮助..我将等待......

3 个答案:

答案 0 :(得分:1)

看起来您的事件处理程序已附加到 Q 按钮。这意味着只有在按下键的时候按键才会调用它。

您应该做的是将事件处理程序添加到键盘组框中,或类似的东西。

答案 1 :(得分:0)

您输入的组件在应用程序启动时没有焦点。

你可以做的是将焦点设置在你的构造函数中。

MyControl.Focus();

答案 2 :(得分:0)

我添加此问题已解决,但我仍面临一个问题。当我开始输入时,时钟时间以 Space 键开始和停止。我该怎么办?键入时会产生问题。

     private void Form1_KeyPress(object sender, KeyPressEventArgs e)

    {  
       if (btnclock.Text == "Start")
            e.Handled = false ;
         else
        {
         i = Convert.ToInt16(rtb1.Text.IndexOf(e.KeyChar));

            if (i == 0)
            {

                rtb1.Text = rtb1.Text.Remove(0, 1);
            }
            else
                j++;
            textBox1.Text = Convert.ToString((j));
        }
    }