2012-03-12 99 views
0

我正在C#中創建應用程序。每當我將光標懸停在按鈕上時,應該顯示消息。此外,如果我再次懸停約3秒鐘,則應在按鈕上顯示「鼠標懸停3秒鐘」的消息。如何延遲鼠標懸停時間?

+0

使用'OnMouseOver'事件觸發'OnClick'事件。 – Shai 2012-03-12 08:20:34

+0

這裏有特別的問題嗎?你試過什麼了? – 2012-03-12 10:00:11

+2

您是否在尋找工具提示? – 2012-03-12 13:16:36

回答

0

嘗試使用此方法解決問題:

private void label1_MouseHover(object sender, EventArgs e) 
{ 
    label_Click(null, null); // this will fire click event 
} 
0

必須設置一個計時器和使用的MouseEnter /鼠標離開事件,如下圖所示:

Timer t; 
    public MainWindow() 
    { 
     InitializeComponent(); 
     t = new Timer(3000); 
     t.Elapsed += t_Elapsed; 


    } 

    void t_Elapsed(object sender, ElapsedEventArgs e) 
    { 
     MessageBox.Show("Your mouse has been hovering for 3 seconds"); 
    } 


    private void btn_MouseEnter(object sender, MouseEventArgs e) 
    { 
     //MessageBox.Show("Hovered"); 
     t.Start(); 
    } 

    private void btn_MouseLeave(object sender, MouseEventArgs e) 
    { 
     t.Stop(); 
    } 

的XAML:

<Button x:Name="btn" Content="Button" HorizontalAlignment="Left" MouseEnter="btn_MouseEnter" MouseLeave="btn_MouseLeave" Click="btn_Click"/>