2012-08-26 4 views
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. 

첫 번째 줄과 세 번째 줄의 구문 오류가 있습니다.

+0

흠 ... 'DropDownButton'의 소스를 알려주시겠습니까? 그렇지 않으면 우리는'DropDownButton.DropDownItems'이 무엇인지 모르기 때문에 당신을 도울 수 없습니다 ... –

+0

DropDownButton이 무엇을 의미하는지 모르겠습니다. 제발 그것에 대해 더 설명해 주시겠습니까? 또한 당신이 원하는 첫 번째 줄에 점점 하나의 오류가 원하는 목록의 데이터 형식을 추가 할 필요가 있다고 생각합니다'new List (...) – KingPancake

+0

이들은 ToolStripDropDownButtons입니다. – Alegro

답변

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()); 
+0

감사합니다. Nathan – Alegro

1

내가 DropDownItems 문자열의 집합이 아니기 때문에 첫 번째 행에 오류가 생각이 시도 :

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

var list = DropDownItems.ToList(); 

당신이 이렇게 할 수있는 문자열로하려면

DropDownItems 란 무엇입니까? 이 컨트롤에 대한 정보를 더 추가 할 수 있습니까?

+0

이들은 ToolStripDropDownButtons – Alegro

+0

입니다. 이것들은 ToolStripDropDownItem ,하지만 그들을 열거하고, 정렬하고, 다시 미안하게 생각하는 방법을 알아 냈습니다.이 컨트롤로 작은 테스트 솔루션을 만들었지 만 솔루션을 찾을 수 없습니다. –

+0

@ Jonas, 고맙습니다. 나는 해결책이 배열을 가지고 있다고 가정하고 각 요소를 btn02에 추가한다. 우리가 볼거야. – Alegro

관련 문제