Foo
タイプのオブジェクトを含むコンボボックスがあります。Foo
クラスは次のとおりです。
public class Foo
{
public string name { get; set; }
public string path { get; set; }
}
はFoo.name
コンボボックスに表示されるテキストでFoo.path
、選択したオプションの値です。
何らかの操作を行った後、コンボボックスからオプションを削除したいと考えています。
私はこれらの方法を試しました:
1
comboBox2.Items.Remove(@comboBox2.Text);
2
comboBox2.Items.Remove(@comboBox2.SelectedValue.ToString());
3
Foo ToDelete = new Foo(); ToDelete.name = @comboBox2.Text; ToDelete.path = @comboBox2.SelectedValue.ToString(); comboBox2.Items.Remove(ToDelete);
私には何もうまくいきません。: / これを行う方法?
アップデート
これは、コンボボックスを初期化する方法です:
string[] filePaths = Directory.GetFiles(sites.paths[comboBox1.SelectedIndex]);
List<Foo> combo2data = new List<Foo>();
foreach (string s in filePaths)
{
Foo fileInsert = new Foo();
fileInsert.path = s;
fileInsert.name = Path.GetFileName(s);
combo2data.Add(fileInsert);
}
comboBox2.DataSource = combo2data;
comboBox2.ValueMember = "path";
comboBox2.DisplayMember = "name";