Я добавил в приложение 3 ресурса текстовых файлов и пытаюсь прочитать их, но я просто не могу его взломать. Я пытался использовать файловый поток и только что попробовал использовать ResourceReader, и я попробовал комбинацию из 2, но не повезло, есть идеи о том, как я мог бы начать с этим?
Да, цель файлов ресурсов - загрузить значения в поля со списком в form_load. Я решил сделать это так, чтобы ЕС мог добавлять и удалять значения по своему усмотрению.
Если вы думаете, что есть лучшие (но все еще ненавязчивые) способы сделать это, пожалуйста, поделитесь.
Вот что я попробовал и потерпел неудачу:
Подход Filestream, где TextFile1 (до 3) .txt - текстовый файл ресурса, он тихо умирает в новой инструкции 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();
}
}