我希望我能解释清楚:))
我有.txt文件,我在文件夹中加载到程序中。我处理文件中的数据并将其放入列表中,然后将列表放在一个代表一个.txt文件的字典中。然后我将这些词典放在另一个代表该文件夹的字典中。一切都有自己的钥匙。
然后我有两个列表框和一个文本框。第一个从“主”字典加载键。
问题:当我点击列表框项目时,我想在第二个列表框上显示主词典的值。当我点击第二个列表框时,我希望文本框显示与辅助字典值对应的数据。
主词典看起来像:
glavniKodeks <string, Dictionary<string, List(Entry>>>
辅助字典看起来像:
kodeks<string>, List<Entry>>.
Entry是一个创建数据并将数据放入列表的类。
listBox1.DataSource = new BindingSource(glavniKodeks.Keys, null);
listBox1.DisplayMember = "Key";
public void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
// (when i click on the items in the listbox1, the values from
// the master dictionary, which are the keys of a secondary
// dictionary, should display on the second listbox2)
}
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
// (when I click on the items selected here, the secondary's
// dictionary values should be extracted from the dictionary into
// a array, which I can manipulate further with.)
}
这样的事情甚至可能吗?我一直在用类似的解决方案搜索网,但一直无法解决问题。
答案 0 :(得分:1)
搞砸了代码,发现了这个:)
public void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
var odabrano1 = glavniKodeks.Keys.ToList()[listBox1.SelectedIndex];
glavniKodeks.TryGetValue(odabrano1, out kodeks);
listBox2.DataSource = new BindingSource(kodeks.Keys, null);
}
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
var list = new List<Entry>();
var odabrano2 = kodeks.Keys.ToList()[listBox2.SelectedIndex];
kodeks.TryGetValue(odabrano2, out list);
}
现在我有一个提取的列表列表,我可以操作:)