私は、データを保持するために1つのリストボックスが必要なアプリケーションに取り組んでいます。
リストボックスからオブジェクトを削除するときに少し問題があります。この問題は、リストボックスに2つの別々のリストの項目を入力したときに発生します。
通常、オブジェクトを削除するには、そのインデックスを取得してから別のクラスのリストから削除し、リストボックスをリロードして変更を反映しますが、場合によっては、2つの異なるリストのオブジェクトをリストボックスに入力する必要があります。 2つのリストのいずれかから削除するオブジェクトの出所を特定しますが、これを行う方法が完全にはわかりません。
このコードは、リストボックスコントロールにデータを入力しています。//リストボックス内のすべてのアイテムをクリアしますViewListBox.Items.Clear();
//create the lists
List listOfPickups = visits.listPickups();
List listOfdeliveries = visits.listDeliveries();
//populate
ViewListBox.Items.AddRange(listOfPickups.ToArray());
ViewListBox.Items.AddRange(listOfdeliveries.ToArray());
これは、1つのリストからのみリストボックスをロードしているときに削除する方法です。
if (ViewListBox.SelectedIndex < 0)
{
EditSelectBtn.Enabled = false;
DeleteSelectBtn.Enabled = false;
}
else
{
if (MessageBox.Show("are you sure you want to delete the selected item?", "Are You Sure?", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
visits.removePickup(this.ViewListBox.SelectedIndex);
//refresh listbox.
updateList("pickups");
}
else
{
//clicked no so do nothing!
ViewListBox.ClearSelected();
}
}
どんな助けでも大いに感謝されるでしょう。