C# 如何让我的复选框显示并将数字添加到C上的标签中#

C# 如何让我的复选框显示并将数字添加到C上的标签中#,c#,winforms,checkbox,label,C#,Winforms,Checkbox,Label,我正试图在Visual Studio中使用C#为一个虚构的宠物诊所开发一个表单,它由复选框和标签组成。复选框表示诊所执行的服务,选中时,服务价格应显示在标签上,选中任何其他复选框时,应将其添加到价格中,未选中时,从价格中删除。我一直在思考如何让复选框有一个值显示在标签上 例如:疫苗接种复选框(CHKVA疫苗接种)应该花费35美元 如何使复选框的值为35,并在选中该复选框时将其添加到零的标签值 private void chkVaccinations_CheckedChanged(object s

我正试图在Visual Studio中使用C#为一个虚构的宠物诊所开发一个表单,它由复选框和标签组成。复选框表示诊所执行的服务,选中时,服务价格应显示在标签上,选中任何其他复选框时,应将其添加到价格中,未选中时,从价格中删除。我一直在思考如何让复选框有一个值显示在标签上

例如:疫苗接种复选框(CHKVA疫苗接种)应该花费35美元

如何使复选框的值为35,并在选中该复选框时将其添加到零的标签值

private void chkVaccinations_CheckedChanged(object sender, EventArgs e) { 
    if (chkVaccinations.Checked) 
     {

     }
    else
    {

    }


    private void lblTotalprice_Click(object sender, EventArgs e)
    {

    }

Tbh您的问题缺少能够帮助您的大量信息,但以下是一个参考您的示例的解决方案的想法,假设这是codebehind。如果你想要一个完整的MVVM解决方案,我可以更新答案

编辑:进行了一些更改,以使答案适应您在评论中的最新请求

private double TotalPrice { get; set; }

private void ComputeTotalPrice(double increment)
{
    TotalPrice += increment;
}

private void chkVaccinations_CheckedChanged(object sender, EventArgs e)
{ 
    if (chkVaccinations.Checked) 
    {
        ComputeTotalPrice(priceAssociatedWithThisCheckBox);
    }
    else
    {
        ComputeTotalPrice(-priceAssociatedWithThisCheckBox);
    }
    UpdateLabel();
}

private void UpdateLabel()
{
    If you want to show $ with 2 decimals
    string formattedPrice = string.Format("{0:0.00}", TotalPrice).Replace(".00","");
    lblTotalprice.Text= $"{formattedPrice}$";
}

谁知道呢?这是WinForms吗?WPF?UWP?ASP?这是在Visual Studio中使用C#是的,Visual Studio和C#可以创建我上面提到的所有项目类型,它们都是不同的。是否有任何代码要共享/private void chkVaccinations_CheckedChanged(object sender,EventArgs e){if(chkVaccinations.Checked)}请阅读如何在StackOverflow()上提出一个好问题,如果您需要更好的帮助,请相应地更新您的问题。我已将代码更改为此代码,但在“private int ComputeTotalPrice(int increment)”下面有一条红线,在“lblTotalprice.content=TotalPrice.ToString()中有“content”;“因此,我只是想知道如何修复这些问题。我修复了我答案中的拼写错误,ComputeTotalPrice应该是Void类型。非常感谢!现在如果我希望价格在标签中显示为美元$,我会在“UpdateLabel”部分的某个位置添加“(c)”吗?您可以使用字符串插值:lblTotalprice.Content=$”{TotalPrice.ToString()}$“这与执行lblTotalprice.Content=TotalPrice.ToString()+“$”相同。好的,这会显示为小数点后两位吗?或者我必须添加其他内容来表示小数点后两位吗?很抱歉,我应该在前面的问题中包括这一点。我还必须将“lblTotalprice.Content”更改为”lblTotalPrice.Text“我正在使用Windows窗体应用程序