我实现的功能就是勾上复选框,然后单击删除按钮 就删除勾上的这一行,但是当我运行后勾上并按删除,却报错:
if (cb.Checked)未将对象引用设置到对象的实例
主窗体中有菜单功能,点击其中一个菜单,比如--召唤文件,程序就使用之前建立好的socket将这个命令发送出去,并显示出一个子窗体,用来显示发送出去的命令和接收到的数据,这个子窗体上面有两个textbox,一个显示发送的命令,一个显示接收到的数据,我想问的是发送功能是在主窗体的菜单事件中写的,然后new出一个子窗体,那么怎么把发送的命令和接受到的数据显示到子窗体的这两个textbox中呢?委托事件传参
这个问题要仔细设计下代码架构,把不同的问题用不同的类来处理,不要混到一起。
发送的命令,用一个集合保存起来。这个对象叫CommandList.
收到的字符,用一个集合或者一个字符串保存起来。这个对象叫ReceiveData.
发送一个命令,就把命令的内容加入到CommandList.
收到一个字符,就把收到的内容附加到ReceiveData.
父窗体每次有发送和接收的动作,都Fire一个事件,叫DataEvent,可以不带参数。
子窗体创建的时候,把CommandList和receiveData以及父窗体的引用作为参数,传递到子窗体里面,并且用变量引用它们。
子窗体创建之后,就监听父窗体的事件。
子窗体在事件响应程序中,每次收到事件,就刷新CommandList和ReceiveData的显示。
上面这些功能都实现了,代码就出来了。虽然打字多点,不过也就是打字而已。
国内厂家拿着缸套去给日本汽车厂配套,
说我们的产品绝大部分技术指标已经达到和超过国外水平!
日本人说:那就是说没有达到国外水平!
(那极少数没有达到的指标恰恰是最关键的,其实那几个指标差得很远)
很多东西都差了,不过我们生在这里
C#父窗体引用了一个串口组件serialport并执行打开操作,
现在想在子窗体上对串口进行读写操作,
把串口类设为public,然后在子窗体里面引用父窗体,就可以实现这样的操作。
不过,这似乎不是好的编程风格。。
还有很多业务系统,发觉用一个数据库不行,达不到效率,拆成几百几千个小的哪怕是xml文件甚至都行。
因此什么数据大小、并发数大小,只是适用于知识比较单一的架构师做出的最简单的任何学生都能做出的c/s程序,而不是复杂的网络系统。