因此,我在向menuStrip动态添加项目时遇到了一个问题。我的意思是,我知道如何添加项目,但我不知道如何让Click处理那些动态添加的项目。
for(int i = 0; i < grupiuKiekis; i++)
{
row2 = mysql_fetch_row(result2);
System::String^ grupesName = gcnew String(row2[1]);
pasirinktiGrupęToolStripMenuItem->DropDownItems->Add(grupesName);
}请告诉我做这件事的正确方法。
发布于 2012-04-06 06:07:37
Add方法有几个重载。您可以使用overload that allows you to specify an EventHandler explicitly,也可以构造一个ToolStripItem,在其上设置click handler,然后使用add the ToolStripItem。
编辑
这基本上是你想要做的:
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.
}https://stackoverflow.com/questions/10033232
复制相似问题