流程布局面板的C#上下文菜单



我使用流程布局面板来动态创建标签。所以我想对这个动态创建的标签使用右键菜单,但上下文菜单只能识别流程布局面板。例如,我右键单击并获得label.text,但不能。有没有办法为动态对象右键单击菜单?

Label addlabel(int i)
{
Label L = new Label();
L.Name = "LBL" + i.ToString();
L.Text = "LBL" + i.ToString();
L.ForeColor = Color.Black;
L.BackColor = Color.Gray;
L.Width = 94;
L.Height = 21;
L.TextAlign = ContentAlignment.MiddleCenter;
L.Margin = new Padding(5);
return L;
}
for (int i = 0; i < 10; i++)
{
Label L = addlabel(i);
flowLayoutPanel1.Controls.Add(L);

}

当然。。。只需在创建标签时设置标签的ContextMenuStrip属性:

L.ContextMenuStrip = contextMenuStrip1;

如果你想得到标签;源";的菜单,然后使用这样的代码:

private void editToolStripMenuItem_Click(object sender, EventArgs e)
{
if (contextMenuStrip1.SourceControl is Label)
{
Label lbl = (Label)contextMenuStrip1.SourceControl;
MessageBox.Show(lbl.Text);
}
}

最新更新