我正在尝试在我的程序中创建一个动态菜单条。这是它现在的样子的一个例子:
创建ToolstripMenuItems
动态本身很容易。我打算做的是检查当前月份是否已经存在于我的程序使用的文件夹路径中,如果不存在,那么它将创建一个带有日期的额外菜单条(例如,一旦我们到达八月,它应创建 2014 年 8 月,带有子项“NL”和“PL”)。
然而,我坚持的部分是如何将功能链接到这些动态创建的子项目。由于我一直无法找到执行此操作的方法,因此“NL”和“PL”选项卡都会打开该特定月份的特定 .TXT 文件(该文件在程序的其他位置创建)。但是,当我动态地制作它们时,我找不到让它们这样做的方法,它们只是没有任何功能。
在这一点上,我发现自己每个月都会为此手动创建新的菜单项和代码。而且我非常希望程序自行运行。
关于如何使动态菜单项起作用的任何提示?
添加代码:
private void CreateMenu()
{
ToolStripMenuItem item = new ToolStripMenuItem();
item.Text = "Logs";
DirectoryInfo dir = new DirectoryInfo(@"Y:\Heineken\Tools\Logs\");
foreach (DirectoryInfo directory in dir.GetDirectories())
{
ToolStripMenuItem dateItem = new ToolStripMenuItem(directory.Name);
ToolStripMenuItem NLMenu = new ToolStripMenuItem("NL"); // <--- This needs to open a specific text file on a network share
ToolStripMenuItem PLMenu = new ToolStripMenuItem("PL"); // <--- This needs to open a specific text file on a network share
dateItem.DropDownItems.Add(NLMenu);
dateItem.DropDownItems.Add(PLMenu);
item.DropDownItems.Add(dateItem);
}
menuToolStripMenuItem.DropDownItems.Add(item);
}