我尝试在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();
}
}
答案 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);
}