0

我有两个 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.

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

4

2 回答 2

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());
于 2012-08-27T02:42:55.933 回答
1

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

var list = DropDownItems.ToList();

如果您希望它们作为字符串,您可以这样做:

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

什么是下拉项?您能否添加有关此控件的更多信息?

于 2012-08-26T00:17:48.727 回答