重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
做这类事情,使用控件替换的方法效率确实有点儿低。
创新互联专注于企业成都全网营销推广、网站重做改版、肇源网站定制设计、自适应品牌网站建设、H5响应式网站、成都做商城网站、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为肇源等各大城市提供网站开发制作服务。
你试试用复制像素的办法吧,也许能好点儿。
VB.NET画图是不能设置双缓冲的,双缓冲是指窗体,从来没说是针对控件。
不用graphic.clear清理重画就不会闪烁。你可以先把容器删了再重新建立一个再去画。
简单举例:
Graphics g;
Pen p;
Panel pl;
构造函数初始化:
p=new Pen(Color.Red,2);
pl=panel1;
造成闪烁的画法:
g=pl.CreateGraphics();
g.Clear(SystemColor.ButtonFace);
//.....画新的
不会闪烁的办法:
this.Controls.ReMoveAt(panel1);
pl=new Panel();
pl.Name="panel1";
//....创建容器控件
this.Controls.Add(pl);
//继续画
上位机软件接收大量数据并显示,会造成界面卡顿,可采用双缓冲技术,即将数据存到内存,再将其绘制到界面,比将数据直接绘制到界面要省很多时间
添加在子进程里面,就加在你批量传输代码里的每一个传输后面,也就是大批量中的每传输一个数据就暂停一下,而不是每一个大批量才暂停一下。
关于串口通讯的问题:
很明显,你还不知道(不会、不习惯)使用事件驱动的方式接收数据。
建议你仔细看看串口组件(无论VB6还是VB点虐 )的OnComm事件,你的问题很容易解决。
关于以太网通讯:
在TCP通讯中端口确实可以重用,你百度一下“TCP端口重用”能查到很多示例。
但绝大多数情况下不推荐端口重用,而应该采取服务器端建立连接池的方法。
或者,干脆不用TCP,用UDP解决也可以。