首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

C#上位机开发(三)—— 构建SerialAssistant雏形

HEX显示,发送,发送新行功能,重复自动发送功能,显示接收数据时间这几项扩展功能; 2、设计布局   根据以上功能,将整个界面分为两块:设置界面(不可缩放)+ 接收区和发送区(可缩放),下面就来依次拖放控件实现...:   1)容器控件(Panel)     Panel是容器控件,是一些小控件的容器池,用来给控件进行大致分组,要注意容器是一个虚拟的,只会在设计的时候出现,不会显示在设计完成的界面上,这里我们将整个界面分为...(Button)   5)文本框控件(TextBox)    TextBox控件与label控件不同的是,文本框控件的内容可以由用户修改,这也满足我们的发送文本框需求;在默认情况下,TextBox控价是单行显示的...,但是还有一个最重要的空间没有添加,这种控件叫做隐式控件,它是运行于后台的,用户看不见,更不能直接控制,所以也成为组件,接下来我们添加最主要的串口组件;   6)串口组件(SerialPort)    ...所以,这个时候我们就需要用到invoke方式,这种方式专门被用于解决从不是创建控件的线程访问它,加入了invoke方式后,串口助手就可以正常接收到数据了,如图: ?

2.6K41

上位机学习技巧——c#(原创)

一、扫描可用串口 方法一、   for循环,比如扫描范围位串口1~串口20,则循环20遍,循环内容是打开串口;   使用 try{......}catch{ };   如果打开成功,就添加该控件到下拉列表中...方法二、   foreach (string s in SerialPort.GetPortNames()) //遍历可用串口,并添加到comName控件里   {     ...this.comName.Items.Add(s);   }   使用SerialPort.GetPortNames()方法直接获取所有可用串口,   然后使用foreach...遍历添加到下拉列表中 二、捕获鼠标移到控件(上升沿)/离开控件(下降沿) 在窗体生成代码中,找到对应按钮(这里使用butten1)区域,在区域内添加两个事件,分别是:   鼠标移到控件上:this.butten1...System EvenHandler(this.button1_MouseHover) //这个this.button1_MouseHover是自定义一个方法,当鼠标移到button1上,方法触发   鼠标离开控件

1K31

移动物联网 之 家电节能 (2)

= new System.IO.Ports.SerialPort(m_port, Int32.Parse(this.textBoxDataRate.Text.Trim()));                 ...m_serialPort.Parity = Parity.None;                 m_serialPort.StopBits = StopBits.One;                 ...(ReceivedDataProcess);                   m_serialPort.DataReceived += new SerialDataReceivedEventHandler...(this.m_serialPort_DataReceived); try                 {                     m_serialPort.Open();...ZedGraph是用于创建任意数据的二维线型、条型、饼型图表的一个类库,也可以作为Windows窗体用户控件和Asp.Net网页控件。这个类库具有高度的适应性,几乎所有式样的图表都能够被创建。

99870

串口助手(简洁版)上位机软件零基础教程( C# + visual studio2017 )(二)

(ComboBox MycomboBox) { string[] ArryPort = SerialPort.GetPortNames(); //定义字符串数组...SerialPort.GetPortNames() 函数,用来查询所有的可用串口号。 2.定时器中断事件(程序) 上一章在可视化窗体编辑过程中,我们添加并使能了定时器控件,并设定时周期为500ms。...需要根据单选按钮控件的按下状态来决定。 4.数值发送方式写的有点复杂,目的是要从字符串中,两两抠出16进制数据,如0x46,但同时又要考虑空格作为分隔符的存在。..."0" + str + " " : str + " ")); //添加到串口接收文本框中 } } } 总结: 1.serialPort1...(ComboBox MycomboBox) { string[] ArryPort = SerialPort.GetPortNames(); //定义字符串数组

3K10

温度采集系统上位机设计

省略一些初始的步骤,可以参考之前写的文章:使用C#开发第一个应用程序 开发平台:Microsoft visual studio 2019 开发语言:c# (1)选择好使用到的控件 本次使用到的控件主要有...: 按钮:button 下拉框:ComboBox 单选框:radio button 文本:label 串口:serial port 定时器:timer (2)设置属性 主要是设置各个控件的初始值之类的。...比如刚启动软件时下拉框的值是多少,单选框选的是哪个,文本显示什么,串口的串口号和波特率,定时器定时间隔这些,都可以在控件的属性里面设置。...a、串口读出数据,并且显示 data = (byte)serialPort1.ReadByte();//字符串方式读 b、区分不同采样点的信号来显示 这里是通过一次连发两个字节来实现的,第一个字节用来标记是哪一路信号...if (data == 0x03) { data = (byte)serialPort1.ReadByte();/

1.8K30

Vcl控件详解_c++控件

,分为左和右 ArrowKeys:是否允许用键盘上的上或下来控制该控件 Associate:选择该控件所控制的控件 Increment:设置每用该控件递增或递减时数据改变的跨度 Max:...:该控件中的内容由指定流指定 SaveToFile:将该控件中的内容保存到文件中 SaveToStream:将该控件中的内容保存到流中 Select:选择指定的节点 Subselect...返回该控件内的行数 ShowCaptions:在按钮上是否显示Caption的文本 Transparent:是否透明 Wrapable:当该控件内的所有控件的总宽度大于该控件的宽度时,是否自动换行...:当用户尝试向该控件上添加一个按钮时触发 OnCustomized:当用户完成对该控件的修改时触发 OnCustomizeDelete:当用户从该控件上删除一个按钮时触发 OnCustomizeNewButton...DragScroll:为真时,当拖动页滚动组件上的箭头时,页滚动组件滚动 Margin:被控控件与该控件的距离 Orientation:设置该控件的方向 Position:确定页流离颠沛滚动组件的滚动位置

4.8K10
领券