CSharp - 选择/取消选择 ToolStripButton

  显示原文与译文双语对照的内容
0 0

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

Edit: 通过在同一个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

你可以只更改 backcolor,而不用调用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;
 }
 } 

0 0

尝试使用paint事件:


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

...