我有一个很大的问题,我不知道我应该用哪种方法解决它......
程序的当前状态:用户当前能够在运行时创建 ToolMenuStrips 的新项目。MenuStrip 总是有 3 层。例如:父母 - 孩子 1 - Child1 的孩子。可以有多个父母,多个孩子和多个孩子的孩子,唯一的规则是他们不能有相同的名字。如果我点击 3. 层,它会打开一个事件,它会给出我点击的 3. 层的名称。(注意:项目的 ID/名称如下:Parent= ParentName ; Child= ParentName+ChildName ; Child of Child = ParentName+ChildName+Child of ChildName)这一切都很好!
“问题”:现在第三层(孩子的孩子)与一些信息(包括路径和文件名)一起创建,这些信息存储在一个数组中。该数组需要绑定到第 3 层。
我的目标:在添加新的第 3 层时,应将其文件名和路径添加到正在等待在文件夹中创建具有 FIlename 的新文件的观察者列表中。(所以我有多个路径我同时观察)此外,当用户单击第 3 层时,它会打开一个表单实例,要创建此表单的实例,我需要传递绑定到此第 3 层的信息。然后将显示。
程序的下一步: 我需要动态创建的带有信息的 MenuStripItems 存储在设置或 XML 中,以便程序可以在不同的运行时再次加载整个数据(关闭并重新启动程序)
我的问题:实现这一目标的最佳方法是什么?我的想法:
a.) 使用元组 -> (它很难理解,可能是垃圾编码)
<string Parent, multidimensional array [childs,child of childs], map <string Filename, string Filepath>>
b.)使用模型类->创建动态类*(我不知道如何做到这一点,我的意思是是的1.动态类=“父母”获取关于所有孩子和孩子的信息以及其他信息作为初始化参数,但如何处理删除一些元素/添加一些元素)
c.) 我读过一些关于“treeview”的内容,您可以在其中使用一些键值初始化 .Node,但我不知道这是否正确?
d.)...?
也许这很容易解决,但我缺乏知识......我知道这是一个非常悬而未决的问题,但我完全不知道应该如何处理......我有一个想法将所有这些都存储在 1多维数组,但这太乱了,我放弃了它......因为它很难区分父母及其孩子和孩子的孩子等等......(虽然xD可以使用10维数组)
先感谢您!
此致,
基督教
编辑:信息 示例:具有 1 个父级的示例(其中可以有多个命名不同于 A1 -> A2 例如具有相同的子级名称)
A1 // 父级
B1 // HG1 的孩子
B2 // HG1 的另一个孩子
C1 // B1的孩子
C2 // B1 的另一个孩子
C3 // B2 的孩子
现在,当创建 C1、C2、C3 时,它们每个都有一个这样的列表:
列表 ListC1= {StringnameC1,StringpathC1,PictureC1;}
列表 ListC2= {StringnameC2,StringpathC2,PictureC2;}
列表 ListC3= {StringnameC3,StringpathC3,PictureC3;}
问题是目前我没有保存从 2nd Form 获得的列表,我只是在创建新 ToolStripItems 时覆盖它(我需要一种方法来存储所有列表并干净地访问它们)当我点击 MenuStripItem C3 我需要访问 ListC3 及其项目。最重要的是,我需要一种简单的方法来在运行时存储所有这些信息。