2013-10-09 267 views
0

我嘗試使ToolStripButton上的閃爍效果。通過使用Select()方法,我可以給它鼠標懸停效果,但我不知道如何將其返回到正常狀態。選擇/取消選擇ToolStripButton

編輯:我通過在同一個ToolStip上製作一個虛擬ToolStripButton並將其大小更改爲0,0來解決此問題。

bool blink = false; 

    void timer_Tick(object sender, EventArgs e) 
    { 
     blink = !blink; 
     if (blink) 
     { 
      button1.Select(); 
     } 
     else 
     { 
      dummyButton.Select(); 
     } 
    } 
+0

將焦點移到別的東西...... –

回答

0

請看到我原來的職位的解決方案。

1

而不是調用選擇方法,你可以只改變背景色:

bool blink = false 
    Color originalColor; 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     originalColor = Button1.BackColor; 
    } 

    private void timer1_Tick(object sender, EventArgs e) 
    { 
     blink = !blink; 
     if (blink) 
     { 
      Button1.BackColor = Color.Aqua; 
     } 
     else 
     { 
      Button1.BackColor = originalColor; 
     } 
    } 
+0

是的,這就是我原來的一樣。 – andrewfam

0

嘗試使用的油漆事件:

private void ToolStripSplitButton_Paint(object sender, PaintEventArgs e) 
{ 
    VisualStyleRenderer renderer = new VisualStyleRenderer(VisualStyleElement.ToolBar.SplitButton.Checked); 
    Rectangle rectangle1 = new Rectangle(0, 0, 21, 22); 
    renderer.DrawBackground(e.Graphics, rectangle1); 
}