应用c#窗体应用编写红路灯代码运用Timer
时间: 2023-07-03 10:09:43 浏览: 199
好的,下面是一个简单的红绿灯界面的代码示例,使用了Timer控件来实现灯的变换:
```csharp
public partial class Form1 : Form
{
private int lightIndex = 0;
private Timer timer;
public Form1()
{
InitializeComponent();
// 初始化Timer控件
timer = new Timer();
timer.Interval = 1000; // 设置定时器间隔为1秒
timer.Tick += Timer_Tick;
timer.Start(); // 启动定时器
}
private void Timer_Tick(object sender, EventArgs e)
{
// 控制灯的变化
switch (lightIndex)
{
case 0:
// 红灯亮
pictureBoxRed.Image = Properties.Resources.light_red_on;
pictureBoxYellow.Image = Properties.Resources.light_yellow_off;
pictureBoxGreen.Image = Properties.Resources.light_green_off;
lightIndex = 1;
break;
case 1:
// 红灯闪烁
pictureBoxRed.Image = Properties.Resources.light_red_blink;
pictureBoxYellow.Image = Properties.Resources.light_yellow_off;
pictureBoxGreen.Image = Properties.Resources.light_green_off;
lightIndex = 2;
break;
case 2:
// 红黄灯亮
pictureBoxRed.Image = Properties.Resources.light_red_on;
pictureBoxYellow.Image = Properties.Resources.light_yellow_on;
pictureBoxGreen.Image = Properties.Resources.light_green_off;
lightIndex = 3;
break;
case 3:
// 绿灯亮
pictureBoxRed.Image = Properties.Resources.light_red_off;
pictureBoxYellow.Image = Properties.Resources.light_yellow_off;
pictureBoxGreen.Image = Properties.Resources.light_green_on;
lightIndex = 4;
break;
case 4:
// 绿灯闪烁
pictureBoxRed.Image = Properties.Resources.light_red_off;
pictureBoxYellow.Image = Properties.Resources.light_yellow_off;
pictureBoxGreen.Image = Properties.Resources.light_green_blink;
lightIndex = 0;
break;
}
}
}
```
在这个代码中,我们使用了3个PictureBox控件来模拟红黄绿3盏灯的变化。在Timer的Tick事件中,我们通过控制lightIndex变量的值,来控制灯的变化。每次灯的变化,我们都会修改PictureBox控件的Image属性,来达到灯的亮灭和闪烁效果。
需要注意的是,在构造函数中,我们初始化了Timer控件,并启动了定时器。定时器的间隔设置为1秒,即每隔1秒钟执行一次Timer_Tick事件。
希望这个示例能够对你有所帮助。如果还有什么问题,请随时提出。
阅读全文