[visual-studio]Visual C# windows 窗体不断检查和更新值吗?

发布时间: 2014/3/1 1:48:18
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我在做一个项目,学院,有简单的午餐菜单创建面板。每个项目的菜单如果提出一个复选框。我想要发生是总要更改每一次新的项选中或取消选中。这是我已经试过到目前为止使用的代码,但它似乎冻结程序运行它时。我已经尝试使用一段时间循环来不断检查是否复选框为选中或取消选中。

有没有一个面板与内对应的复选框和面板底部的标签。

因此我关于右线在使用 while 循环来检查每个复选框的选中的状态是什么和更新的标签文本吗?

private void plBistro_Paint(object sender, PaintEventArgs e)
        {
            //create a variable to hold the total
            double bistotal = 0.0;

            while(bistotal != 99){
                //check if they chose a ham sandwich
                if(cbHamSandwich.Checked == true){

                    //if they did add 1.20 to the value of bistotal
                    bistotal = bistotal + 1.20;
                }

            string bistotalString = Convert.ToString(bistotal);

            lblBistroTotal.Text = bistotalString;
        }
        }

解决方法 1:

您的代码中有一个无限循环,再加上漆事件不是地方,做这种计算。你想要什么更像是:

private void cbHamSandwich_CheckChanged (object sender, EventArgs e)
{
    CalcTotal();
}

private void CalcTotal()
{
    double bistotal = 0.0;

    if(cbHamSandwich.Checked == true)
    {
        //if they did add 1.20 to the value of bistotal
        bistotal = bistotal + 1.20;
    } 

    // more selected values to add to total

    lblBistroTotal.Text = bistotal.ToString("c");
}

添加 CheckChanged 事件的每个选项,需要改变的总价格。

官方微信
官方QQ群
31647020