我有以下代码 -
private void button1_Click(object sender, EventArgs e)
{
_soundplayer.Play();
timer1_Tick();
}
private void timer1_Tick()
{
pictureBox1.Image = imageList1.Images[imgIndex++];
}
由于某种原因,这会带回Form1.Designer.cs
-
Error 1 No overload for 'timer1_Tick' matches delegate 'System.EventHandler'
当点击button1时,pictureBox1中的图像应该每2秒更改一次计时器滴答,但是我无法通过此错误。请指教。
答案 0 :(得分:1)
Tick事件是EventHandler类型的事件。它需要两个参数用于事件处理程序:
private void timer1_Tick(object sender, EventArgs e)
{
pictureBox1.Image = imageList1.Images[imgIndex++];
}
这要求您修改Click事件处理程序,如下所示:
private void button1_Click(object sender, EventArgs e)
{
_soundplayer.Play();
timer1_Tick(this, EventArgs.Empty);
}
使用设计器添加事件处理程序可以让您远离这样的麻烦。选择计时器,单击“属性”窗口中的闪电图标,然后双击“勾选”。
答案 1 :(得分:0)
单击按钮时启动计时器。并将计时器间隔设置为2000毫秒。 Timer_tick事件将每2秒自动创建一次。
private void timer1_Tick()
{
pictureBox1.Image = imageList1.Images[imgIndex++];
}
private void button1_Click(object sender, EventArgs e)
{
_soundplayer.Play();
timer1_Start();
}