将文本格式化为列表框的问题

时间:2014-09-25 09:23:44

标签: c# text listbox

好吧,所以即使遇到困难,我的所有.text输出都适合它所分配的列表框行吗?有没有办法让文本不超过列表框的宽度?

这就是我的方式

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")));
}

这将显示静态大小的文本,如日期和时间,但会切断一些随用户交互而变化的文本

1 个答案:

答案 0 :(得分:1)

我在代码项目中看到了一个示例,其中包含省略号用于溢出文本。 看起来它有助于你:

Auto-Ellipsis

(扩展TextBox类以创建一个文本框控件,缩短文本以适应其他控件)。

我认为检查这将是在ListBox

中实现它的良好开端