正在从复选框中提取文本输出

本文关键字:提取 取文本 输出 复选框 | 更新日期: 2023-09-27 18:24:28

所以我试图从复选框中提取文本属性,并将其显示到列表框中,但无论是否选中,我做错了什么似乎都无关紧要。

 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属性,无论其是否选中有人能告诉我为什么随着更多选项的选中,列表框上的文本被截断了吗?这与我的字符串格式行有关吗?

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

正在从复选框中提取文本输出

删除if's 后的分号

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

应为:if (chkChildSeat.Checked)

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