1

我正在使用这样的代码,当文本变长时,它会切断它并且不显示整个文本:(在这方面我希望它表现得像一个列表框项目。一行是一个项目在列表框中,并没有这个 trucnacted 文本问题。

    listView1.Scrollable = true;
    listView1.View = View.Details;
    listView1.HeaderStyle = ColumnHeaderStyle.None;

    ColumnHeader header = new ColumnHeader();
    header.Text = "MyHeader";
    header.Name = "MyColumn1";
    listView1.Columns.Add(header);

    listView1.Items.Add("TooLongTextDoesntShow");
    listView1.Items.Add("short");
    listView1.Items.Add("abcd");

我认为附上问题的图片更容易。请注意它没有显示突出显示项目的全文:(

谢谢你的帮助。

在此处输入图像描述

4

6 回答 6

4

只需指定列标题宽度。

 ColumnHeader header = new ColumnHeader();
 header.Text = "MyHeader";
 header.Name = "MyColumn1";
 header.Width = listView1.Width //Same Width as Entire List Control
 listView1.Columns.Add(header);
于 2012-05-22T14:26:47.007 回答
2

替代方法是添加期间。

您可以使用:ListView.ColumnHeaderCollection.Add

public virtual ColumnHeader Add(
    string text,
    int width   //width of the header
)
于 2012-05-22T14:27:21.423 回答
0

好的,我找到了解决方案,如果有更好的方法也请告诉我

将项目添加到列表视图后,我们应该调用它:

listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
于 2012-05-22T14:24:42.450 回答
0

我们以具有 2 列的 ListView 为例,根据内容调整大小,然后调整为最小宽度。

// Auto resize of ListView Columns to minimum width
private int[] ColumnsWidth = { 35, 322 };

/// <summary>
/// Resize the columns based on the items entered
/// </summary>
private void ResizeColumns()
{
    // Auto Resize Columns based on content
    m_urlsListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
    // Make sure to resize to minimum width
    if (m_urlsListView.Columns[0].Width < ColumnsWidth[0])
    {
        m_urlsListView.Columns[0].Width = ColumnsWidth[0];
    }
    if (m_urlsListView.Columns[1].Width < ColumnsWidth[1])
    {
        m_urlsListView.Columns[1].Width = ColumnsWidth[1];
    }
}
于 2016-05-20T09:50:11.843 回答
0

由于(实际上不可见)列,内容被截断。您可以告诉ListView自动调整列宽:

listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
于 2016-05-20T10:15:16.017 回答
0

您可以只添加一列并根据您的文本大小要求定义其宽度。此外,如果 listview 控件的实际宽度更小,可以将“Scrollable”属性设置为 true

ListView_Column_Width_Image

于 2020-06-16T08:50:39.687 回答