2012-02-02 7 views
2

これはかなり単純な質問ですが、これまでのところ私を打ち負かしています。Winforms-ListBoxをクリアできません

私は自分のフォームに2つのリストボックスを持っています。ユーザーが最初のボックスの項目をクリックすると、2番目のリストボックスに関連する値が入力されます。しかし、時には後で2番目のリストボックスをクリアして、再び空に見えるようにしたいことがあります。

ただし、次のどれも動いていないようにみえます:

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

Iすべての値の完全に明確なリストボックスやるとちょうど空白のままにどのように?

リストボックスはWinFormsアプリケーション広告内にあります。フォーム上のすべてのリストボックスをクリアするボタンを追加したいと思います。

+2

ここでイベントをクリアしますか?リストボックスで試してください - プレレンダリングまたはページプリレンダリング – 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を呼び出します。もちろん、ヌル割り当ての直後に行うこともできます。

表示されている動作の別の可能性は、リストボックスがすべてのアイテムを削除するとすぐにイベントを通じて自分のコードに再生成される可能性があります。

+0

リンクが復活しているページがもう存在しないようです。 – Cornelis

+0

リンクを削除しました – Andreas

関連する問題