2012-03-12 2 views
0

C#에서 응용 프로그램을 만들고 있습니다. 커서를 버튼 위로 가져갈 때마다 메시지가 표시되어야합니다. 또한 약 3 초 동안 마우스를 가져 가면 버튼에서 '마우스가 3 초 동안 마우스를 올려 놓았습니다'라는 메시지가 표시됩니다.마우스를 가리 키는 시간을 지연시키는 방법은 무엇입니까?

+0

OnMouseOver 이벤트를 사용하여 OnClick 이벤트를 발생시킵니다. – Shai

+0

여기에 특별한 질문이 있습니까? 지금까지 뭐 해봤 어? –

+2

툴팁을 찾으십니까? –

답변

0

문제를 해결하려면이 옵션을 사용해보십시오 : 아래 그림과 같이

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

당신은 타이머를 설정하고 MouseEnter /하는 MouseLeave 이벤트를 사용할 필요가 :

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"/> 
관련 문제