2011-07-28 357 views
1

我有一個音頻文件的波形。在波形的結尾處,我想在波形結束之前的50個像素區域中顯示一些文本,在tooptip中。我希望工具提示僅在波形結束前50個像素到波形結束的區域顯示。我寫了一些代碼,但它導致了工具提示的閃爍,即當我移動鼠標時,工具提示不斷出現。請幫助停止閃爍。 的代碼是:工具提示閃爍。

private void Waveform_MouseMove(object sender, MouseEventArgs e) 
{ 
    bool IsMatching = false; 
    ToolTip tooltip1 = new ToolTip(); 
    if (e.X <= this.Width && e.X >= this.Width - 50) 
    { 
     tooltip1.Show("end here", this, e.X, e.Y); 
     IsMatching = true; 
    } 

    if(!IsMatching) 
     tooltip1.Hide(this); 
} 

回答

0

聲明tooltip1的形式,而不是創建只要鼠標移動,也當您每次創建新的實例,當你調用tooltip1.Hide()你是不是躲在舊工具的新實例的提示,你隱藏了新創建的「已經沒有顯示」。

另請考慮設置表格DoubleBuffertrue,它用於減少閃爍。

+0

這解決了我的閃爍問題。謝謝!但是現在,無論我在波形上保留工具提示,它都會在那裏顯示工具提示。它應該只顯示在50像素區域。 – ngj