2 qq 24075209 qq_24075209 于 2014.12.11 15:40 提问

c#串口调试助手对接受到的数据进行格式转换问题

设计了一个CheckBox控件用来将接收到的数据进行字符串和十六进制互换,接收到的数据默认为字符串。
当勾选CheckBox时,将文本框中的数据转换成十六进制数显式,取消勾选再转换成字符串。
现在遇到的问题是我如果提前勾选CheckBox时,再发送数据,接收到的数据还是默认的字符串格式,
但是接收到数据之后,再取消CheckBox的勾选时,就会报错,求指导,怎么设计才可以在发送之前选择十六进制接收也可以实现功能

2个回答

91program
91program   Ds   Rxr 2014.12.11 16:31
已采纳

这个应该在显示的时候做控制吧:
如果接收到字符串、且已经勾选,且需要将接收到的数据转成十六进制再显示。转换的方法,与你接收到数据后,再勾选时是一样的算法。

也就是说,无论如何保证显示的数据与勾选的状态一致,这样就不会出现错误。

qq_24075209
qq_24075209 回复91program: 请问该如何设置呢?求指导
大约 3 年之前 回复
91program
91program 回复qq_24075209: 你需要设置标志来标识字符串是否已经进行转换
大约 3 年之前 回复
qq_24075209
qq_24075209 我目前的转换代码是在checkbox里,我想的也是应该在接收控件里,但是我将checkbox里的转换代码复制到文本框里并且将checkbox勾选时,会在文本框里运行一遍,然后在checkbox里再运行一遍,相当于进行了2次转换,结果就不对了,怎么办
大约 3 年之前 回复
yeqi3000
yeqi3000   2014.12.11 15:56

去下载我的C#超级通信调试工具吧,是开源的,这些源码里面都有。
CODE地址:https://code.csdn.net/yeqi3000/supernetdebuger
工具介绍博文:http://blog.csdn.net/sqqyq/article/details/11721485

qq_24075209
qq_24075209 你的那个太高端。。。新手表示看不懂。。。
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!