监视击键

raf*_*ael 2 c# events keystroke winforms

我是C#的初学者,并且正在制作一个计算器.但我想禁用"GO!" 按钮,当textbox1中没有输入数字时,一旦用户在其中输入数字"GO!" 按钮再次启用...如何在C#中执行此操作?我尝试过这样的KeyDown和KeyPress事件,但从未奏效

private void Form1_Load(object sender, EventArgs e)
    {

            button15.Enabled = false;
         button16.Enabled = false;     

    }


 private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyEventArgs e)
    {

       if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9)
        {
            button15.Enabled = true;
            button16.Enabled = true;

        }
        else
        {
            button15.Enabled = false;
            button16.Enabled = false;
        }

    } 
Run Code Online (Sandbox Code Playgroud)

那怎么办呢?提前致谢 .

Eri*_*ert 7

你的想法非常好,但还有更好的方法.只需检测文本框内容何时发生变化.当内容改变时,检查内容是否为空或不为空.如果内容为空,则禁用该按钮,否则启用它.

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.textchanged.aspx

此外,最好将控件名称更改为默认值以外的其他名称."button15"告诉读者没有代码,"goButton".