我有一个Dictionary<string, List<string>>
where 字符串是文件的路径。我想在组合框中显示文件的名称,然后使用文件名作为值来捕获它SelectedValueChanged
。
var cmbDatasource = (from moduleReference in moduleReferences
select new { FilePath = moduleReference.Key, Filename = new FileInfo(moduleReference.Key).Name }).ToList();
cmbModules.DataSource = cmbDatasource;
cmbModules.DisplayMember = "Filename";
cmbModules.ValueMember = "FilePath";
然后我在我的SelectedValueChanged
活动中这样做
private void cmbModules_SelectedValueChanged(object sender, EventArgs e)
{
var cmb = (ComboBox)sender;
if (cmb != null)
{
var test = cmb.SelectedValue.ToString();
}
}
test
现在成为匿名类型作为值成员(路径)的姿势。
我看过这里,但看不出我在做什么不同。
例子
Dictionary<string, List<string>> moduleReferences = new Dictionary<string, List<string>>();
moduleReferences.Add("C:\Test.txt", new List<string>());
Test.txt
但是,当我捕获我希望C:\Test.txt
在字典中查找的事件时,应该显示组合框。我在这里做错什么了吗?