2011-08-26 62 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實例。 –