如何从按钮项创建列表并按列表填充它们?

时间:2012-08-26 00:00:46

标签: c# winforms list

我有两个DropDownButtons(ToolStripDropDownItem) - btn01和btn02

我希望btn02成为btn01项目的排序列表。

我现在有了。

List<string> list = new List(btn01.DropDownItems); //  I want to create a list
list.Sort();
btn02.DropDownItems = list; // sorted list should be btn02 items.

第一行和第三行有语法错误。

2 个答案:

答案 0 :(得分:1)

我认为第一行的错误是因为DropDownItems不是字符串的集合,试试这个:

var list = DropDownItems.ToList();

如果你想要它们作为字符串,你可以这样做:

var list = new List<string>();
foreach(var item in DropDownItems)
{
list.Add(item.ToString());
}

什么是DropDownItems?您能否添加一些有关此控件的更多信息?

答案 1 :(得分:1)

这样的事情会起作用。

这不是最漂亮的代码,可以减少许多行,但我想确保它很清楚。

var unorderedList = new List<ToolStripItem>();
for (int i = 0; i < toolStripDropDownButton1.DropDownItems.Count;i++ )
{
    unorderedList.Add(toolStripDropDownButton1.DropDownItems[i]);
}

var orderedList = unorderedList.OrderBy(l => l.Text).ToList();
toolStripDropDownButton2.DropDownItems.AddRange(orderedList.ToArray());