如何在Visual C ++ Windows窗体应用程序中创建动态菜单?

时间:2016-12-19 13:12:11

标签: winforms visual-studio-2015 menu c++-cli

我正在Visual Studio 2015中构建一个C ++ Windows窗体应用程序。 我有一个具有Save和Load子项的设置菜单。 在从文件中读取设置后,我想在启动时向子项添加子项,这样,如果用户点击该项,则会加载实际设置。

设置已成功读入为这些设置定义的ref class数组中。但由于某种原因,不会创建和添加菜单项。 我正在尝试的方式是在Load的{​​{1}}事件中我运行一个Form函数,该函数从文件读取并将设置填充到数组中,并在填充后数组,创建readSettings(),并为其设置名称,大小和文本,然后将其添加到我的加载菜单ToolStripMenuItem

代码是:

loadToolStripMenuItem

当我尝试添加事件处理程序时,我注释掉了这一行,因为我不知道如何让它工作...... EventHandler的第二个参数应该是与文档对应的EventArgs。但就我在Visual Studio生成的代码中看到的而言,它是实际事件处理函数的名称,而不是参数。在我的情况下,有必要将参数传递给loadSettings函数。 //Then add an Item to Load Menu ToolStripMenuItem^ menuItem; menuItem->Name = name + "LoadMenuSubItem"; menuItem->Size = System::Drawing::Size(200, 24); menuItem->Text = name; //menuItem->Click += gcnew System::EventHandler(this, &MyForm::loadSettings); loadToolStripMenuItem->DropDownItems->AddRange( gcnew array<ToolStripMenuItem^>(1) {menuItem}); 变量应该是这个参数。

name函数也经过测试,并且工作正常)。 而且我也无法手动创建事件处理函数,因为保存的设置数量不受限制......

提前感谢您的帮助。

0 个答案:

没有答案