c# time 控件 怎么用...求例子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# time 控件 怎么用...求例子相关的知识,希望对你有一定的参考价值。
其实要求是,每隔一段时间接收下位机的一段数据,如果用那个线程的那个,程序就卡死了,所以那个 不好用。
这个没有用timer的,也不能用,也不需要用线程,串口有自己的触发事件,关键代码为
//打开端口private void button3_Click(object sender, EventArgs e)
try
serialPort1 = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One);
//关键 为 serialPort1绑定事件句柄
serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);
serialPort1.Open();
catch (Exception err)
MessageBox.Show(err.Message);
//串口数据到达时的事件
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
//关键 代理
myDelegate md = new myDelegate(SetText);
try
if (serialPort1.IsOpen == true)
byte[] readBuffer = new byte[serialPort1.ReadBufferSize];
serialPort1.Read(readBuffer, 0, readBuffer.Length);
string readstr = Encoding.UTF8.GetString(readBuffer);
Invoke(md, readstr);
catch (Exception err)
throw err;
static void Main()
Project_C.Class1 aa;
aa = new Project_C.Class1();
Application.Run();
public Class1()
time = new System.Timers.Timer(1000); //延时1000毫秒
time.Elapsed += new System.Timers.ElapsedEventHandler(TimerElapsed);
time.Start();
private void TimerElapsed(object sender, ElapsedEventArgs e)
MessageBox.Show("定时事件触发");
用System.Timers.Timer,基于服务器的定时器,可以在无窗体程序中执行定时任务,使用方法和System.Windows.Forms.Timer 差不多。
参考技术B 拖入窗体Timer控件,选择事件(选中控件按F4再点击雷电的图标)->Timer_Tick(事件处理) interval为控件运行周期,即多久触发一次Tick事件。 代码自己写吧 参考技术C 楼上那个最快回答的很对,用串口的触发事件,不要用定时器,定时器本身都存在误差c# winform中怎么画出圆角矩形或者就有这样的控件,求指点
类似于windows中配置IP的这个样子。
参考技术A groupbox,如果想要圆角的话,需要将原有控件重绘 参考技术B 有人做过的,你可以试下这个:http://download.csdn.net/detail/fowolf/6242785追问
谢了,你提供的那个不是我需要的效果。
本回答被提问者采纳 参考技术C 网上找到你喜欢的图片,你可以添加image,然后添加js方法,可以让这个图片当做控件应用了。以上是关于c# time 控件 怎么用...求例子的主要内容,如果未能解决你的问题,请参考以下文章