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