2012-12-19 4 views
7

X 유형 목록이 있습니다. X는 속성 레벨 클래스입니다. 이벤트에서 다른 목록에 CheckedListBox Selected Items가 필요합니다.CheckedListBox 선택한 항목을 목록으로 가져 오는 방법 <X> ...?

출력을 얻는 방법 ... ?? 내가 아래에 주어진 시도 코드 ...

public void Initialize(List<X> x1) 
{ 
     chkList.DataSource = x1; 
     chkList.DisplayMember = "MeterName"; // MeterName is a property in Class X 
     chkList.ValueMember = "PortNum"; // PortNum is a property in Class X 
} 

private void Click_Event(object sender, EventArgs e) 
{ 

List<X> x2 = new List<X>(); 
// Here I want to get the checkedListBox selected items in x2; 
// How to get it...??? 

} 
+0

웹 프로젝트인가? Windows 응용 프로그램? –

+0

Windows 응용 프로그램 친구 ... –

+0

[목록 상자에서 일반 목록으로 항목 모음 전송] (http://stackoverflow.com/questions/471595/casting-an-item-collection-from-a-listbox) 이 잘 작동 -to-A-일반적인 목록) –

답변

15

는 다음과 같은

List<X> x2 = chkList.CheckedItems.OfType<X>().ToList(); 

또는 내가 대답을 얻었다

List<object> x2 = chkList.CheckedItems.OfType<object>().ToList(); 
+0

+1, 내 foreach는 기반 답 : 위의 솔루션 늘이 일 때문에 실제로 내가 DevExpress의를 사용하고 –

+0

을 추가 할 이유가 없다. 그러나 그것은 내 해결책을 얻으려는 불꽃을주었습니다 ... tanx buddy .. –

+0

@RavishankarN이 작업을하기 위해'OfType' 대신에'Cast'를 사용할 수 있습니다. – nawfal

0

객체로 캐스팅 시도 할 수

private void Click_Event(object sender, EventArgs e) 
{ 

List<X> x2 = new List<X>(); 
foreach (X item in chkList.CheckedItems) 
    { 
     x2.Add(item); 
    } 
} 
0

다음은 저를 r에 :

List<X> x2 = new List<X>(); 
x2 = chkList.CheckedItems.Cast<X>().ToList(); 
0
string[] miList = chkList.CheckedItems.OfType<object>().Select(li => li.ToString()).ToArray(); 
0

이 다른 옵션

List<X> lst = new List<X>(chkList.CheckedItems.Cast<X>()); 
관련 문제