2013-12-19 52 views
1

我已經創建了一個Windows窗體,其中我添加了WebKit Browser。我創建了一個定時器,每5秒鐘發送一個用戶到'PlayVideo' Form。 我希望計時器停止並重新開始,如果用戶點擊表單。 我面臨的問題是它沒有檢測到窗體點擊。如果我從FORM中刪除WebKit瀏覽器,它會檢測到窗體點擊並重置計時器。 請告訴我一種檢測WebKitBrowser上的鼠標點擊的方法。如何在鼠標上停止計時器在Windows窗體中使用Web瀏覽器時單擊?

private void timer1_Tick(object sender, EventArgs e) 
    { 
     videoplayer videoplayer = new videoplayer(); 
     videoplayer.Show(); 

     this.Hide(); 

     timer1.Stop(); 

    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     timer1.Start(); 

    } 

    private void Form1_MouseDoubleClick(object sender, MouseEventArgs e) 
    { 
     timer1.Stop(); 

     timer1.Start(); 

    } 

回答

2

看起來您需要某種形式的鼠標事件。事實上,您可以處理WebBrowserDoubleClick事件,但是我已經嘗試過,並且該事件(以及其他一些鼠標事件)不受支持。因此,您可以嘗試在IMessageFilter的幫助下實施以下全格式鼠標事件處理程序:

public partial class Form1 : Form, IMessageFilter 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
     Application.AddMessageFilter(this); 
    } 
    //... 
    //method implementation of the interface IMessageFilter 
    public bool PreFilterMessage(ref Message m) 
    { 
     //WM_LBUTTONDBLCLK = 0x203 
     if (m.Msg == 0x203) { 
      //your code goes here... 
      timer1.Stop(); 
      timer1.Start(); 
     } 
     return false; 
    } 
} 
相關問題