2012-02-02 3 views
2

이것은 다소 간단한 질문입니다. 그러나 지금까지 저를 물리 쳤습니다.Winforms-ListBox를 지울 수 없습니다.

양식에 두 개의 목록 상자가 있습니다. 사용자가 첫 번째 상자에서 항목을 클릭하면 두 번째 목록 상자에 관련 값이 채워집니다. 그러나 때로는 두 번째 목록 상자를 지우고 다시 비어있는 것으로 표시하려고합니다.

lbxQuantity.Items.Clear(); 
lbxQuantity.DataSource = null; 
lbxQuantity.Text = ""; 

어떻게 모든 값의 나는 완전히 명확 목록 상자 할 그냥 비워 둡니다 :

그러나, 다음 중 어느 것도 작동하는 것 같다 없다?

목록 상자는 WinForms 응용 프로그램 광고에 있습니다. 양식의 모든 목록 상자를 지우는 버튼을 추가하고 싶습니다.

+2

어떤 이벤트에서 항목을 지우시겠습니까? 목록 상자에서 시도하십시오 - prerender 또는 page prerender – zdrsh

+1

'페이지로드 이벤트를 체크하고 거기에리스트 박스가없는 데이터 소스를 바인딩하십시오. 그러면 포스트 백을 확인합니다 .' 모든 항목을 지우는 경우에는 데이터 원본을 null로 설정할 필요가 없습니다. 항목을 지운 후에 바인딩 할 작업이 필요합니다. – joshua

+2

@Madhav : 질문에서 명확하지 않기 때문에 [Winforms-ListBox] (http://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.aspx)가 될 수도 있습니다. –

답변

6

ListBox을 입력하는 방법에 따라 다릅니다. 수동 listBox.Items.Add를 호출하여 항목을 추가하는 경우

  • 당신은 listBox.Items.Clear를 통해 취소 할 수 있습니다.
  • DataSource, DisplayMember 및 ValueMember 속성을 통해 채우는 경우 DataSource = null을 설정하고 DataSource가 null 인 경우 DataSourceChanged 이벤트 처리기에서 listBox.Items.Clear을 호출 할 수 있습니다. 물론 null 할당 직후에이를 수행 할 수도 있습니다.

표시되는 동작에 대한 또 다른 가능성은 목록 상자가 모든 항목을 제거하자마자 어떤 이벤트를 통해 자신의 코드에 다시 채워질 수 있다는 것입니다.

+0

링크가 바뀌는 페이지가 더 이상 존재하지 않는 것처럼 보입니다. – Cornelis

+0

링크를 제거했습니다. – Andreas

관련 문제