Windows 窗体列表框在同一个框中的多个列表

Posted

技术标签:

【中文标题】Windows 窗体列表框在同一个框中的多个列表【英文标题】:Windows Forms Listbox Multible Lists in same Box 【发布时间】:2011-05-12 11:50:40 【问题描述】:

我正在从事一个项目,我正在从 Web 服务获取联系人列表。这些联系人有姓名和电子邮件,我将每个联系人保存在字符串列表中。现在我希望我的列表框可以接收姓名和电子邮件,并将它们写在 2 列中。然后我希望能够在列表框中选择一组并获取该组中的电子邮件或姓名。我的问题是我找不到做多列事情的方法。我发现的唯一东西是 Listbox.MultiColumn 属性,但它似乎需要 1 个列表并将其分成更多列。

提前致谢

【问题讨论】:

【参考方案1】:

ListBoxes 不支持多列(如您所见,MultiColumn 只是将现有项目分散到列中)

另一种方法是改用在详细信息模式下设置的ListView,并将每一列添加为子项,如this question 中一样。

【讨论】:

【参考方案2】:

您可以使用DataGridView 您可以像这样添加行:

string[] row1 = new string[]  "Column 1", "Column 2", "..." ;
string[] row2 = new string[]  "Column 1", "Column 2", "..." ;
// And so on
object[] rows = new object[]  row1, row2 ;

foreach (string[] row in rows)

    yourDataGridView.Rows.Add(row);

【讨论】:

以上是关于Windows 窗体列表框在同一个框中的多个列表的主要内容,如果未能解决你的问题,请参考以下文章

如何在列表框中显示多个字典项

将 Windows 窗体列表框保存到文本文件 C#

Windows窗体 - 如何获取列表框的垂直滚动条?

列表框中的列表在运行宏后消失

ListBox(用户窗体)VBA中的多列

将列表中具有零值的多个列添加到 Pandas 数据框中