2013-06-03 58 views
1

對於我的應用程序,我希望懸停在圖像鏈接上時出現漂亮的「手指」圖像。將MouseHover/MouseLeave規則應用於表單中的所有鏈接

我做到了這一點;

//MouseHover Event 
this.Cursor = Cursors.Hand; 

但是,效果持續存在,並且光標停留爲指向手指。

爲了解決這個問題,我實施了一個MouseHoverMouseLeave解決方案,將光標恢復到正常狀態。

//MouseLeave Event 
this.Cursor = Cursors.Default; 

完美!不完全,我現在必須爲我的表單上的每個鏈接製作這兩個事件。有沒有更快的方法來執行此操作,將規則應用於所有鏈接(或鏈接集合..)?

+0

這是一個Windows窗體?或網絡? – aiapatag

+0

查看標籤 - winforms。 – William

+0

哎呀,我意識到,直到現在纔看到它。 – aiapatag

回答

6

使用鏈接爲您的PictureBox創建自定義控件。覆蓋OnMouseEnterOnMouseLeave方法:

public class PictureBoxLink : PictureBox 
{ 
    protected override void OnMouseEnter(EventArgs e) 
    { 
     Cursor = Cursors.Hand; 
     base.OnMouseEnter(e); 
    } 

    protected override void OnMouseLeave(EventArgs e) 
    { 
     Cursor = Cursors.Default; 
     base.OnMouseLeave(e); 
    } 
} 

而且用它代替標準PictureBox控制。

+1

非常好,我該如何使用這個控件呢?謝謝。 – William

+1

解決了它自己 - 我認爲最好的方法.. :) – William

+1

@ Clev231,以防萬一你找到了其他方法:)當你將這個自定義控件添加到項目並編譯它,那麼控件將在ToolBox下* YourAppName組件*組 –

相關問題