我已经动态创建了linklables,现在我想通过右键单击该特定的可链接来删除它们中的任何一个。我已经尝试使用上下文菜单条,但我无法删除任何可链接。请帮帮我。
提前致谢
答案 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;
}