如何使用contextMenuStrip删除linklable

时间:2011-08-26 14:08:37

标签: visual-studio-2008

我已经动态创建了linklables,现在我想通过右键单击该特定的可链接来删除它们中的任何一个。我已经尝试使用上下文菜单条,但我无法删除任何可链接。请帮帮我。

提前致谢

1 个答案:

答案 0 :(得分:0)

您是否尝试处理MouseDown事件并将senderLabel从sender参数获取到事件处理程序?从那里你应该能够从它的父控件集合中删除它。

如果要使用ContextMenuStrip进行用户交互,您仍然可以处理LinkLabel的MouseDown事件,并将最后单击的实例存储在ContextMenuStrip的Tag属性中。然后,当您单击菜单项时,您可以检索最后一次单击的LinkLabel并继续将其从控件集合中删除。

private void removeToolStripMenuItem_Click(object sender, EventArgs e)
{
    var lbl = this.contextMenuStrip1.Tag as LinkLabel;
    if (lbl != null)
        lbl.Parent.Controls.Remove(lbl);
}

private void linkLabel1_MouseDown(object sender, MouseEventArgs e)
{
    this.contextMenuStrip1.Tag = sender;
}