用键/值将文本文件打开到组合框winforms中

时间:2019-03-01 13:12:39

标签: c#

使用包含键=值条目的文本文件(例如:ABCD = ABCD)并使用在C#程序中定义的词典来打开该文件以用作组合框时,我遇到了一些困难。

下面是我当前的代码,我使用add静态定义了键/值字段(整个列表大约有30个条目)。

Dictionary<string, string> vendors = new Dictionary<string, string>();
vendors.Add("ADVENE", "ADVENE");
vendors.Add("DFG RISK", "DFG RISK");

DataGridViewComboBoxColumn vendcol = new DataGridViewComboBoxColumn();
vendcol.Name = "vendor";
vendcol.HeaderText = "Vendor";
vendcol.DisplayMember = "Value";
vendcol.ValueMember = "Key";
vendcol.DataSource = vendors.ToList();
dataGridView1.Columns.Add(vendcol);

在打开应用程序时,如何将上述键/值条目转换为文本文件并由组合框使用?

我尝试使用StreamReader,但是我完全不知道如何实现它。

谢谢

1 个答案:

答案 0 :(得分:2)

假设您的文本文件具有以下格式:

ADVENE=ADVENE
DFG RISK=DFG RISK

您可以使用以下代码对其进行解析:

var vendors = new Dictionary<string, string>();
using (var reader = new StreamReader(@"c:\temp\test.txt"))
{
    string line = string.Empty;
    while ((line = reader.ReadLine()) != null)
    {
        string[] keyValue = line.Split(new char[] { '=' });
        vendors.Add(keyValue[0], keyValue[1]);
    }
}

要填充DataGridViewColumn,您可以尝试以下操作:

var vendcol = new DataGridViewComboBoxColumn();
vendcol.HeaderText = "Vendor";
vendcol.ValueMember = "Key";
vendcol.DisplayMember = "Value";
vendcol.DataSource = vendors.ToArray();
dataGridView1.Columns.Add(vendcol);