アプリに 3 つのテキスト ファイル リソースを追加し、それらから読み込もうとしていますが、ハッキングできないようです。ファイルストリームを使用してみましたが、ResourceReader を使用してみましたが、2 つの組み合わせを試しましたが、運がありません。これをどのように開始できるかについてのアイデアはありますか?
そうそう、リソース ファイルの目的は、form_load で値をコンボ ボックスにロードすることです。EU が必要に応じて val を追加および削除できるように、私はそのようにすることにしました。
それを行うためのより良い(しかし目立たない)方法があると思われる場合は、共有してください.
これが私が試して失敗したものです:
TextFile1(to 3).txt がリソース テキスト ファイルである Filestream アプローチでは、新しい 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();
}
}