2014-01-10 27 views
2

想我LinkLabel控件添加到Windows窗體,並在其中定義了兩個不同的環節,因爲這個C的每個鏈接區域不同的工具提示#片段:顯示了.NET LinkLabel控件

LinkLabel ll = new LinkLabel(); 
Controls.Add(ll); 
ll.Text = "Click here or here"; 
ll.Links.Add(6, 4, "http://example.one"); 
ll.Links.Add(14, 4, "http://example.two"); 

我結束並在我的表單上添加一個標籤(並且外觀和行爲類似)「點擊herehere」。用戶不知道鏈接的目標是什麼,所以當鼠標懸停在任何一個上面時,我想要彈出一個工具提示來顯示適當的URL。我只是以編程的方式構建一個長的文本包裝的LinkLabel,所以只需將四個控件放置爲「[Label:'Click'] [LinkLabel:'here'] [Label:'or'] [LinkLabel:'here' ]「在不同的LinkLabels上獨立分配ToolTipText的表單不是一個好選擇。

完成此操作的最佳方法是什麼?或者,我應該使用LinkLabel以外的東西嗎?

+0

我發佈了一個解決方案 https://stackoverflow.com/questions/20358602/c-sharp-labellink-linkarea-detection-for-mouse-position?noredirect=1&lq=1 –

回答

0

不幸的是我不認爲這很容易,雖然LinkLabel有一個LinkClicked事件,它有一個帶有點擊鏈接的事件參數,沒有相應的LinkMouseHover/Enter事件,所以無法知道你定位的鏈接是什麼。

也許唯一的解決方案是創建許多LinkLabels彼此相鄰,然後使用每個LinkLabel上的MouseHover來知道指向的鏈接。