0

2つのDropDownButton(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.

1行目と3行目に構文エラーがあります。

4

2 に答える 2

1

最初の行のエラーは、DropDownItemsが文字列のコレクションではないためだと思います。これを試してください:

var list = DropDownItems.ToList();

それらを文字列として使用したい場合は、次のように実行できます。

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

DropDownItemsとは何ですか?このコントロールに関する情報をもう少し追加していただけますか?

于 2012-08-26T00:17:48.727 に答える
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 に答える