选择/取消选择ToolStripButton

时间:2013-10-09 04:43:20

标签: c# visual-studio-2008 toolstripbutton

我尝试在ToolStripButton上制作闪烁效果。通过使用Select()方法,我可以给它鼠标悬停效果,但我不知道如何将它恢复到正常状态。

编辑:我通过在同一个ToolStip上创建一个虚拟的ToolStripButton并将其大小更改为0,0来解决这个问题。

    bool blink = false;

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

3 个答案:

答案 0 :(得分:1)

您可以只更改背景颜色,而不是调用Select方法:

    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;
        }
    }   

答案 1 :(得分:0)

请参阅我原帖中的解决方案。

答案 2 :(得分:0)

尝试使用Paint-Event:

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);
}