C++ cli 动态添加菜单项
因此,我在动态地向menuStrip添加项时遇到了问题。我的意思是,我知道如何向其中添加项目,但我不知道如何为那些动态添加的项目创建单击处理程序C++ cli 动态添加菜单项,c++-cli,C++ Cli,因此,我在动态地向menuStrip添加项时遇到了问题。我的意思是,我知道如何向其中添加项目,但我不知道如何为那些动态添加的项目创建单击处理程序 for(int i = 0; i < grupiuKiekis; i++) { row2 = mysql_fetch_row(result2); System::String^ grupesName = gcnew String(row2[1]); pasirinktiGrupęToolSt
for(int i = 0; i < grupiuKiekis; i++)
{
row2 = mysql_fetch_row(result2);
System::String^ grupesName = gcnew String(row2[1]);
pasirinktiGrupęToolStripMenuItem->DropDownItems->Add(grupesName);
}
for(int i=0;iDropDownItems->Add(grupesName);
}
请告诉我正确的方法。Add方法有几个重载。您可以使用,或者您可以构建,在上面设置,然后 编辑 以下是您基本上想要做的:
for(int i = 0; i < grupiuKiekis; i++)
{
row2 = mysql_fetch_row(result2);
System::String^ grupesName = gcnew String(row2[1]);
ToolStripItem^ item = gcnew ToolStripItem();
item->Text = grupesName;
item->Click += gcnew EventHandler(this, &Form1::clickHander);
pasirinktiGrupęToolStripMenuItem->DropDownItems->Add(item);
}
void clickHander(Object^ sender, EventArgs^ e)
{
ToolStripItem^ item = (ToolStripItem^) sender;
System::String^ grupesName = item->Text;
// Do what you need to do.
}
for(int i=0;i文本=grupesName;
item->Click+=gcneweventhandler(这个,&Form1::clickHander);
pasirinktiGrupęToolStripMenuItem->下拉项目->添加(项目);
}
无效clickHander(对象^sender,事件参数^e)
{
ToolStripItem^项=(ToolStripItem^)发送方;
系统::字符串^grupesName=项目->文本;
//做你需要做的事。
}
我知道如何为按钮创建clickHandler,但如何在dropDownItems上创建clickHandler?dropDownItems是一个列表,而不是用户单击的对象。您正在ToolStripItem上添加单击处理程序。我仍然不明白。。。好的,你能解释一下我应该怎么做吗?因为我想做的是:从MYSQL数据库中获取一些东西,并将其添加到menustrip dropdownlist。然后,当我从dropdownlist中选择item时,我想读取该items名称;您需要更改为ToolStripMenuItem^item=gcnew ToolStripMenuItem;感谢您的回答:]