从复选框中提取文本输出

时间:2014-09-25 07:48:31

标签: c# checkbox listbox

所以我试图从一个复选框中提取文本属性并将其显示到一个列表框中,但似乎无论是否检查它都无关紧要。

 private void btnCompute_Click(object sender, EventArgs e)
    {
        string accessories = "";
        if (chkChildSeat.Checked) ;
        {
            accessories = accessories + chkChildSeat.Text+",";
        }
        if (chkLockHelmet.Checked) ;
        {
            accessories = accessories + chkLockHelmet.Text+",";
        }
        if (chkTrailer.Checked) ;
        {
            accessories=accessories+chkTrailer.Text;
        }
        lstInvoice.Items.Add(String.Format("{0,-49}{1,-14}", "Invoice Date", DateTime.Now.ToString("d")));
        lstInvoice.Items.Add(String.Format("{0,-50}{1,-13}", Customername, CustomerID));
        lstInvoice.Items.Add(String.Format("{0,-49}{1,-14}", "Rental Date", dateTimePicker1.Value));
        lstInvoice.Items.Add(string.Format("{0,-25}{1,-28}", "Accessories", accessories.ToString()));
        lstInvoice.Items.Add(string.Format("{0,-49}{1,-14}", "Total Invoice Amount", result.ToString("c")));
    }

这将显示所有的checkboxname.text属性,无论其是否已选中 任何人都可以告诉我为什么文本在列表框上被截断,因为检查了更多的选项它是否与我的string.format行有关?

lstInvoice.Items.Add(string.Format("{0,-25}{1,-28}", "Accessories", accessories.ToString()));

1 个答案:

答案 0 :(得分:2)

if's

之后删除分号

您的密码:if (chkChildSeat.Checked) ;

应该是:if (chkChildSeat.Checked)

分号将表示if语句的结尾。因此,所有附件赋值语句都将执行,因为它们不会在if block内被考虑。