问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C#中的交通信号灯问题,请帮忙具体解释下其中的部分程序,急求

发布网友 发布时间:2022-04-24 01:53

我来回答

2个回答

热心网友 时间:2023-04-30 07:44

你好,
关于C#中timer类 在C#里关于定时器类就有3个 (winform3个,wpf1个我们这里不说)
1.定义在System.Windows.Forms里 工具拖放(不精确)
2.定义在System.Threading.Timer类里 计时精确
3.定义在System.Timers.Timer类里 计时精确(对前者封装,增加了一些特性)
你这个从代码上看应该是用的第1个控件, 该计时器使用消息循环机制来取代线程池产生消息的机制,意味着Tick事件总是在创建timer的那个线程上执行(一般就是你的主线程),同时也意味着如果上一个Tick消息还未被处理,即使时间超过了间隔时间,在消息循环中也只存在一个Tick消息,换句话说, 也意味着可能会无限期的把实际要用的5秒计时变为100秒 1000秒.

虽然计时不精确,但是是单线程,永远只执行一个,不会出现同一时间两次执行.(也就是说不会出现两个线程同时执行这段代码,所以是线性安全的!!!!!这个用在交通灯上面很好,但是,这个不应该是工业级的代码,这段代码不安全.因为如果系统突然出现问题,这个程序 会有时间差,如果是一个软件中的一个计时器控制一个十字路口的多个红绿灯就没有问题,但是如果这个软件有多个计时器,那么还是可能会在极端情况下,出现问题的,..老兄,你这代码不要真用于工作啊.罗嗦了,O(∩_∩)O)

你的系统每规定时间执行void timer1_Tick()这个方法

下面的文字乱糟糟的,你放在vs2012之类的编辑器中重新格式化一下

Graphics g =this.CreateGraphics();//创建图形
if (intTime!= 0) //这个变量是外部定义的
{
if(intTime < 10) //如果小于10 ,按照里面的代码说,是10 9 8 7 6 5这样减少,一直到0就停止,顺道再把 intTime 设置为5 ,搞不懂这样写代码的意义,可能代码外面还有其他作用吧
{
label1.Text = "0" + intTime.ToString();//将控件值弄为 09 06 04之类的值
label1.ForeColor = Color.Red;//并且label1的文字颜色变为红色 }
else
{
label1.Text = intTime.ToString();//否则就刷新0-9的值在label1空间商
label1.ForeColor = Color.Red;//颜色依然是红色
}
intTime--;//减去1,
intFalg= 1;//这是外部变量, 标志为1 (估计这个就是你说的交通灯切换信号,至于1是红色还是绿色,你调试程序的时候才知道啊)
getFillColor();//填充图形,这是外部方法
}
else //如果intTime ==0
{
label1.Text = "0" + intTime.ToString();//写成"00"
timer1.Enabled = false;//计时器停止工作/
intFalg= 0;//信号设置为0
intTime= 5;//同时将外部值intTime设置为5
timer1.Enabled = false;//当前计时器不可用 (也就是停止工作了)
timer3.Enabled = true;//另外一个计时器可用,是否立即执行,看这个的设置(timer3这个可以用了,但是是不是立即执行,是有一个设置的,在vs的编辑器里面,你找找属性,里面有一个规定,规定了timer是立即执行一次,然后循环,还是完全不执行等待系统调用,然后循环(这是两种工作模式))
}追问你太酷了,关键时刻你解救了我,真心感谢额,要是再有问题我还可以再询问你吗?再次感谢额

追答用百度发私信, 我会回答你问题的,只是我一两天甚至三四天才会登陆百度一次.(很多时候不在百度的登陆状态)

热心网友 时间:2023-04-30 07:44

大概是使用Timer计时,画出绿灯的时候,绿灯的Timer开始,在Tick事件里将计数器自减,当计数器为0 就停止绿灯的Timer开启红灯的Timer,做同样的计数器自减,实现红灯,绿灯交替闪烁。
原理大概是这样,希望有帮到你
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
交通工程好考公务员吗 交通工程类考公时包括哪些专业 交通工程专业的能报考什么样的公务员 交通工程专业往哪些方向考公务员 交通工程可以考公务员有哪些岗位 我专业交通工程。能考什么类型的公务员 支付宝怎么关联另一个账号 支付宝怎么关联另一个支付宝 支付宝关联账号在哪里?怎么添加? 京东买手机发票可以开别人名字吗 红绿灯控制器 游戏修改器是不是长这样子的 组态控制交通灯 交通信号灯控制器,急急急!!! 带有显示的十字路*通信号灯控制程序的设计与调试的工作原理是什么 交通红绿灯如何调试 有相应的电脑模拟软件吗? 全聚德烤鸭带走可以保存多久? 求雷欧奥特曼每集出现的怪兽图片,按顺序 红绿灯怎么调试? 吃不完的烤鸭怎么保存,多长时间? 简易交通灯控制器 奥特曼全部名字和图片 网上流传的新版红绿灯是真的吗? 红绿灯可以经过人为调整时间吗?其原理是什么? 北京全聚德烤鸭有包装袋吗? 可以带走吗? 奥特曼图片大全 全聚德烤鸭店烤鸭多少钱一只是真空包装吗?刚出炉的烤鸭能放几天 谁知道全部奥特曼的名字和图片?有急用! 北京全聚德烤鸭现烤的能打包带走吗 高铁3小时后吃 现烤的要在店里面买吗 谁可以告诉我所有奥特曼的名字,并且有相应的图片。 这张图里的奥特曼叫啥名? 求51单片机控制的交通灯电路图 十字路口带倒计时显示的交通信号灯控制 调试器是什么? 什么是调试器i 十字路口交通信号灯的PLC控制设计 跪求用单片机8051芯片设计的交通信号灯,那位大哥,大姐,帮下小弟_百 ... 任务管理器里哪个是调试器?(有图) 急求单片机红绿灯的汇编语言程序设计 《国色天香》的大结局是什么? 爱情悬疑剧《国色天香》的大结局是什么?苏家灭门的*到底是什么? 刘恺威主演的《国色天香》的结局是什么? 国色天香的结局是什么? 国色天香的结局是怎样? 国色天香电视剧结局是什么?苏家的那把火到底是谁放的?宫少华为什么不告诉红玉她的身世? 《国色天香》的大结局是怎么样的? 电视剧《国色天香》的结局是什么?? 电视剧《国色天香》的结局怎样 国色天香结局怎么样啊 国色天香里的香浩宇死了嘛?最后香家和宫家那家挣赢了的 谁知道~~在哪能下载到免费的~~音频转换器~~就是把任何格式转换成MP3格式的~?