C#按下按钮后停止

C#按下按钮后停止,c#,C#,我正在用c#制作一个计算器。我想在按下clear(清除)按钮之前停止计算器并发出错误声音。与计算平方根时一样,数字为-ve 这是计算平方根的部分 private void buttonSquareRoot_Click(object sender, EventArgs e) { num1 = double.Parse(textBox1.Text); if (num1 < 0.0) { textBox1.Text

我正在用c#制作一个计算器。我想在按下clear(清除)按钮之前停止计算器并发出错误声音。与计算平方根时一样,数字为-ve

这是计算平方根的部分

 private void buttonSquareRoot_Click(object sender, EventArgs e)
    {
        num1 = double.Parse(textBox1.Text);
        if (num1 < 0.0)
        {
            textBox1.Text = "Invalid Input";
        }
        else
        {
            result = Math.Sqrt(double.Parse(textBox1.Text));
            textBox1.Text = Convert.ToString(result);
        }
    }
private void按钮squareroot\u单击(对象发送者,事件参数e)
{
num1=double.Parse(textBox1.Text);
如果(num1<0.0)
{
textBox1.Text=“输入无效”;
**buttonSquareRoot.Enabled=False**
}
其他的
{
result=Math.Sqrt(double.Parse(textBox1.Text));
textBox1.Text=Convert.ToString(结果);
}
}
私有无效按钮清除单击(对象发送者,事件参数e)
{
textBox1.Text=“”;
buttonSquareRoot.Enabled=True;
}
私有无效按钮方形鼠标单击(对象发送者,事件参数e)
{
num1=double.Parse(textBox1.Text);
如果(num1<0.0)
{
textBox1.Text=“输入无效”;
**buttonSquareRoot.Enabled=False**
}
其他的
{
result=Math.Sqrt(double.Parse(textBox1.Text));
textBox1.Text=Convert.ToString(结果);
}
}
私有无效按钮清除单击(对象发送者,事件参数e)
{
textBox1.Text=“”;
buttonSquareRoot.Enabled=True;
}

您可以禁用所有需要的按钮,直到再次需要它们

void SetControlsAbility(bool isEnabled)
{
    // for every control you need:
    yourControl.Enabled = isEnabled;
}
然后


您可以禁用所有需要的按钮,直到再次需要它们

void SetControlsAbility(bool isEnabled)
{
    // for every control you need:
    yourControl.Enabled = isEnabled;
}
然后


那么它不起作用了吗?添加一个默认为false的
private bool IsHalted
,并在每次有需要暂停的内容时变为true。在整个代码中添加检查以检查值并进行投诉,然后返回,如果值为真…当您说要暂停应用程序时,是指禁用除“清除”按钮之外的任何其他输入吗?您现在确实希望程序停止。您希望它只对“清除”按钮作出反应,然后它会像以前一样作出反应。您可以使用全局变量并对其进行设置。类似于blClearRequired=false的东西;如果发生错误,则将其设置为true。在每个按钮的clickhandler中,只要布尔var为true,您就可以请求var并返回wichtout。“清除”按钮将其设置为false,并且所有操作都从头开始。对你来说行吗?那么它不起作用了吗?添加一个默认为false的
私有bool IsHalted
,并在每次有需要暂停的内容时变为true。在整个代码中添加检查以检查值并进行投诉,然后返回,如果值为真…当您说要暂停应用程序时,是指禁用除“清除”按钮之外的任何其他输入吗?您现在确实希望程序停止。您希望它只对“清除”按钮作出反应,然后它会像以前一样作出反应。您可以使用全局变量并对其进行设置。类似于blClearRequired=false的东西;如果发生错误,则将其设置为true。在每个按钮的clickhandler中,只要布尔var为true,您就可以请求var并返回wichtout。“清除”按钮将其设置为false,并且所有操作都从头开始。对你来说好吗?问题解决了。我制作了一个bool变量并用它来控制我的程序。我们都赞成这个想法。它解决了。我制作了一个bool变量并用它来控制我的程序。我们都赞成这个想法。
void SetControlsAbility(bool isEnabled)
{
    // for every control you need:
    yourControl.Enabled = isEnabled;
}
private void buttonSquareRoot_Click(object sender, EventArgs e)
{
    num1 = double.Parse(textBox1.Text);
    if (num1 < 0.0)
    {
        textBox1.Text = "Invalid Input";
        SetControlsAbility(false);
    }
    else
    {
        result = Math.Sqrt(double.Parse(textBox1.Text));
        textBox1.Text = Convert.ToString(result);
    }
}
private void buttonClear_Click(object sender, EventArgs e)
{
    textBox1.Text = "";
    SetControlsAbility(true);
}