2009-05-02 60 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

相关问题