c# - 我可以从文本文件中制作动态组合框吗?
问题描述
我想做一个这样的组合框:
但是这些框不应该是硬编码的,它们应该来自这样的文本文件:
在文本文件中添加数据应导致添加组合框。每个组合框也应该有相同的选项列表,它们是 1,2,3,4
我做了以下类来读取和写入文本文件,但是我在互联网上找不到任何资源来将这些文本文件转换为组合框。
public static string ReadFromTextFile(string path)
{
if (File.Exists(path))
{
string data;
using (StreamReader r = new StreamReader(path))
{
data = r.ReadToEnd();
}
if (data != "")
{
data = "[" + data + "]";
}
return data;
}
return null;
}
public static void WriteToTextFile(string path, string data, bool append = true, int count = 1)
{
if (!File.Exists(path))
{
var file = File.Create(path);
file.Close();
}
using (StreamWriter writer = new StreamWriter(path, append: append))
{
if (!append)
{
//remove opening bracket "[" from data passed
data = data.Trim().Substring(1, data.Trim().Length - 1);
//remove last bracket "]" from data passed
data = data.Trim().Substring(0, data.Trim().Length - 1);
}
if (count != 0)
{
data = data + ",";
}
writer.WriteLine(data);
}
}
public static DataTable ConvertToDataTable<T>(IList<T> data)
{
PropertyDescriptorCollection properties =
TypeDescriptor.GetProperties(typeof(T));
DataTable table = new DataTable();
foreach (PropertyDescriptor prop in properties)
table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);
if (data != null)
{
foreach (T item in data)
{
DataRow row = table.NewRow();
foreach (PropertyDescriptor prop in properties)
row[prop.Name] = prop.GetValue(item) ?? DBNull.Value;
table.Rows.Add(row);
}
}
return table;
}
解决方案
我现在没有可用的视觉工作室。所以,我会给你前进的方向。
读取该行并将其拆分为字符串数组。
字符串[] arr= line.Split(",");
第一个(比如食物)是标题,其余的是值。
循环遍历数组。
for (int i=1;i<= arr.Length;i++) { }
将其添加到组合框项目中,例如
cbo.Items.Add(arr[i])
.
遍历文件中的行,您将获得所需的输出。
推荐阅读
- reactjs - 基于类的组件还是功能组件?
- c# - 没有高度和宽度的数据网格会消耗大量内存
- dialogflow-es - 如何从 Dialogflow 实现发送自定义有效负载
- react-native - 为什么 KeyboardAvoidingView 没有出现在 React Native App 中?
- excel - VBA - 比较列和一个目标单元格之间的绝对差异
- python - 如何使用 MultiIndex 数据框加入多个时间序列?
- python - 如何在 Python 中连接到需要我登录并拥有自签名证书的站点?
- file-upload - 如何开玩笑地模拟文件上传或文件对象?
- collections - 如何在具有相同键的哈希图中添加值以及何时将值存储为另一个哈希图
- java - 如何将txt文件放到第二个txt文件的特定行