2012-05-22 17 views
1

我正在爲這樣的代碼使用代碼,當文本變長時,它會將其切斷並且不顯示整個文本:(在這方面,我希望它像一個列表框項目。一號線是在列表框中選擇一個項目,沒有這個trucnacted文本問題。Listview項目文本是trucncated,並沒有顯示全部

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

我覺得這只是容易將問題的圖片。請注意它如何不顯示突出顯示項目的全文:(

感謝您的幫助。

enter image description here

+1

您有一列,爲什麼? – seekerOfKnowledge

+0

@seekerOfKnowledge:是的虛擬專欄是因爲我在這裏爲我的其他問題得到的答案,請讓我知道是否有更好的方法,謝謝。 http://stackoverflow.com/questions/10703449/prevent-listview-items-from-showing-in-a-second-column/10703670#10703670 – Bohn

回答

3

只需指定列標題寬度即可。

ColumnHeader header = new ColumnHeader(); 
header.Text = "MyHeader"; 
header.Name = "MyColumn1"; 
header.Width = listView1.Width //Same Width as Entire List Control 
listView1.Columns.Add(header); 
+0

很酷,謝謝。作品。 – Bohn

0

好吧,我發現了一個解決方案,請讓我知道,如果有做得太

更好的辦法後將項目添加到列表視圖做,我們應該稱之爲:

listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); 
+1

你甚至不需要列... – seekerOfKnowledge

+0

@seekerOfKnowledge:是啊虛擬列是因爲我在這裏得到了另一個問題的答案,請讓我知道是否還有更好的方法,謝謝。 http://stackoverflow.com/questions/10703449/prevent-listview-items-from-showing-in-a-second-column/10703670#10703670 – Bohn

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]; 
    } 
} 
0

由於(幾乎不可見)列正在截斷內容。您可以告訴ListView自動調整列寬:

listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); 
listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);