當雙擊Form1
時,會有一個代碼激活動畫。通過雙擊ListBox
組件觸發動畫是必要的。如何改變?當用戶雙擊Windows窗體列表框時,如何觸發動畫開始?
public partial class Form1 : Form
{
Timer tmr;
public Form1()
{
InitializeComponent();
this.MouseDoubleClick += Form1_MouseDoubleClick;
this.Paint += Form1_Paint;
tmr = new Timer();
tmr.Interval = 10;
tmr.Tick += tmr_Tick;
}
int x;
int step = 5;
void Form1_MouseDoubleClick(object sender, MouseEventArgs e)
{
tmr.Stop();
x = 0;
tmr.Start();
}
void tmr_Tick(object sender, EventArgs e)
{
x += step;
if (x > this.Width)
{
x = 0;
(sender as Timer).Stop();
}
this.Invalidate();
}
void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.FillRectangle(Brushes.Red, 0, 0, x, 4);
}
}
對於處理'ListBox'控件上的雙擊事件,您可能希望看到[此問題](https://stackoverflow.com/questions/4454423/c-sharp-listbox-item-double-click -事件)。然後,更改上面的代碼以將此事件處理程序附加到您的「ListBox」控件而不是「Form1」。 –