2013-08-23 5 views
0

목록에 이름을 지정하고 하나 또는 두 개의 유용한 메소드를 추가로 구현해야했습니다. 그래서 내 프로그램 아키텍처 :CheckedListBox 및 객체 목록 목록

public class A 
{ 
    public void Method1() 
    { 
    ... 
    } 

    public override string ToString() 
    { 
    ... 
    } 
} 

public class B : List<A> 
{ 
    public override string ToString() 
    { 
    ... 
    } 

    public void Method2() 
    { 
    ... 
    } 
} 

그리고 내 mainform에서, 다음, 내가 만드는거야 및 인스 턴싱 :

BindingList<B> MyList = new BindingList<B> MyList(); 

가 CheckedListBox와 함께 사용하려면, 내가 사용하고 있습니다 :

MyListBox.DataSource = MyList; 

그리고 MyList에 새 요소를 추가 할 때 CheckedListBox에 잘못된 텍스트가 있습니다. 실제로 MyList에 하나 이상의 항목이 있어도 "(Collection)"이라는 단 하나의 문자열 만 표시합니다. 내 코드에 어떤 문제가 있습니까?

답변

0

List를 DataSource에 올바르게 바인딩하지 않습니다.

대신 목록을 전달, 당신은 당신이 내 하루가 저장 Using datasource with CheckBoxList

foreach (var item in MyList) 
    MyListBox.Items.Add(item.WhateverFieldYouWantToBind, false); // second param is whether it's checked or not 
+0

완벽한에서 첫 번째 대답처럼 그들을 추가 할 수 있습니다 : – Louisbob