我已经向应用程序添加了 3 个文本文件资源,并试图从中读取,但我似乎无法破解它。我尝试过使用文件流并且刚刚尝试过使用 ResourceReader 并且我尝试了 2 的组合但没有运气,关于如何开始使用这个有什么想法吗?
哦,是的,资源文件的目的是将值加载到 form_load 上的组合框中。我决定这样做,以便欧盟可以在他/她认为合适的时候添加和删除 vals。
如果您认为有更好(但仍然不引人注目)的方法,那么请分享。
这是我尝试过但失败的方法:
Filestream 方法,其中 TextFile1(to 3).txt 是资源文本文件,它在 new FileStream() 语句上安静地死掉,没有抛出异常
private void Scan_Form_Load(object sender, EventArgs e)
{
// read combo box values from textfile
AddVals("TextFile1.txt",cmbBox1);
AddVals("TextFile2.txt", cmbBox2);
AddVals("TextFile3.txt", cmbBox3);
}
private void AddVals(string fileName,ComboBox thisBox)
{
using (FileStream repFs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
StreamReader strReader = new StreamReader(repFs);
ArrayList aVals = new ArrayList();
while (strReader.Peek() != -1)
{
aVals.Add(strReader.ReadLine());
}
foreach (object val in aVals)
{
thisBox.Items.Add(val.ToString());
}
}
}
然后是 ResourceReader + FileStream 方法,同样的问题,主要区别在于我只是在非 fs 方法中调用文件名字符串而不是打开流:
private void AddVals(string fileName, ComboBox thisBox)
{
using (FileStream fs = new FileStream(fileName, FileMode.Open))
{
IResourceReader reader = new ResourceReader(fs);
IDictionaryEnumerator en = reader.GetEnumerator();
while (en.MoveNext())
{
string val = en.Value.ToString();
thisBox.Items.Add(val);
}
fs.Close();
reader.Close();
}
}