2011-08-26 60 views
0

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

在此先感谢

回答

0

你尝试处理MouseDown事件及寄件人参数事件处理程序获取LinkLabel的?从那里你应该能够从它的父母的Controls集合中删除它。

如果你想拥有的ContextMenuStrip用户交互,你仍然可以处理的LinkLabel的MouseDown事件和最后点击实例存储在的ContextMenuStrip的Tag属性。然后,点击菜单项时,您可以检索最后一次点击的链接标签并继续将其从控件集合中删除。

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; 
} 
+0

我曾尝试与您所提供的代码,但现在toolStripmenu没有出现在linklable :)我应该添加toolstripmenuitem当我创建一个linklable? –

+0

这只是你如何去做的一个模板。由于您在运行时创建了LinkLabel控件,因此您还需要在运行时添加事件处理程序。 –

+0

另外,您需要将每个LinkLabel的ContextMenuStrip属性设置为您添加到设计器的ContextMenuStrip实例。 –