2009-05-02 34 views
0

我正在寫一個分析器,它顯示了一個特定的程序。有些包的所有包都非常大和列表視圖只顯示第15-20個字符:\如何將大文本添加到listview的(詳細)項目?

這是我的代碼

 string __str = String.Join(" ", data.Select(x => x.ToString("x2")).ToArray()); //covert the byte[](packet) to hex string 
     string __ascii = AsciiToString(data); //convert the byte[](packet) to ASCII 
     if (encrypted) FormMain.PFA(form => form.listViewAnalyzer.Items.Add("S<-C [ENCRYPTED] Blowfishkey = 0xFF")); 
     else FormMain.PFA(form => form.listViewAnalyzer.Items.Add("S<-C")); 
     ListViewItem item = new ListViewItem(__str); //create new item and place the packet as hex string 
     item.SubItems.Add(__ascii); //add the ascii variant as substring 
     FormMain.PFA(form => form.listViewAnalyzer.Items.Add(item)); //add the item 

它必須是禁止添加超過x行的文本的屬性,但我看不到它。

回答

1

ListView控件將包含所有文字,你就不能看到它,如果它是太長或有多條線。

Outlook和類似數據包嗅探器的東西經常工作的方式是,該列表視圖伴隨着文本框或「預覽」窗口。您可以更改UI,以便在列表視圖中選擇項目以在Outlook樣式的預覽窗格中顯示該項目的完整詳細信息。那麼你可以有一個大的多行文本框和其他你想要的東西。我經常通過在ListViewItem.Tag屬性中添加對象來實現此目的,以便我可以在UI中檢索它並在事件觸發時顯示在預覽中。

或者,預覽可能在雙擊時彈出的對話框中。事實上,使預覽UI爲UserControl,那麼你可以做到兩個!

0

列表視圖只顯示第15-20個字符:\

也許你需要使列寬?

它必須是一個屬性,禁止添加超過x行的文本,但我看不到它。

列表視圖項不換行文本,所以在技術上,他們禁止文本超過1線

+0

我不能讓它更廣泛,包長度是600字節。所以我不能那樣做? – 2009-05-02 07:36:34

+0

如果文章太長而不適合在列中,您希望做什麼? – 2009-05-02 07:40:02

+0

我想使它成爲多行。如果需要,它可以放在兩行(項目) – 2009-05-02 07:43:59

相關問題