ユーザーがデータ ポイントで構成される複数のテキスト ファイルをロードできるアプリケーションがあります。これらのファイルをロードすると、それぞれに対して生成されたチェックボックスが有効になっているノードがあります。次に、選択された各ファイルが「DynoFile」クラスのインスタンスになり、そのすべてがリストに格納されます。ノードのチェックボックスを「DynoFile」クラスの特定のインスタンスにバインドする方法はありますか (ノードと DynoFile クラスのインスタンスは同じ名前を共有します)。私の以前の方法は、すべてのチェックボックスを実行し、チェックされているものの名前をリスト内の DynoFile インスタンスの名前と比較することでした。チェックボックスイベントで対応する DynoFile クラスのパラメーターを変更する方法が必要だと思います。
以下はこれまでの私のコードです。
List<DynoFile> AllRuns = new List<DynoFile>();
private void button1_Click(object sender, EventArgs e)
{
TreeNode RunGroup = new TreeNode();
RunGroup.Text = GroupName.Text;
RunGroup.Name = GroupName.Text;
treeView1.Nodes.Add(RunGroup);
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "Text files (*.txt)|*.txt";
dlg.FilterIndex = 0;
dlg.Multiselect = true;
dlg.RestoreDirectory = true;
dlg.Title = "Read .txt Log File";
if (dlg.ShowDialog() == DialogResult.OK)
{
BuildTree(RunGroup,dlg.FileNames);
BuildRuns(GroupName.Text, dlg.FileNames);
}
} // Load the File names into an array
public void BuildTree(TreeNode RunGroup, String[] FileNames)
{
foreach (String file in FileNames)
{
TreeNode run = new TreeNode();
run.Name = Path.GetFileName(file);
run.Text = Path.GetFileName(file);
RunGroup.Nodes.Add(run);
}
} // Parse the array and construct the tree of nodes
public void BuildRuns(String GroupName, String[] FileNames)
{
foreach (String file in FileNames)
{
DynoFile element = new DynoFile(Path.GetFileName(file), GroupName);
AllRuns.Add(element);
}
}