欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C#笔记20200811

程序员文章站 2024-03-23 10:27:34
...

C#笔记20200811

C#笔记

C#弹出提示框,用到的类 System.Windows.Forms

Message.Show("内容显示","窗口标题",窗口按钮样式,窗口图标样式);

C#字符串转数字

Convert.ToInt32("234");

问题及分析解决

1.在向端口写入数据时,拔掉连接线测试错误处理,弹出MessageBox提示框,提示框无法关闭,点击确定后会再次弹出。
问题分析:经检查,在函数中多次写入数据,因此每次写入时都会弹窗报错。窗口一直弹出问题,可能是将弹出窗口写在了循环中。或写的在基类的函数,而运行时多次调用基类函数。
问题解决:在发数据之前判断串口是否处于连接状态,若未连接,弹窗提醒并跳过写入数据的操作。

2.在使用System.Timers.Timer类时,在This.Invoke(new SetControlValue( UpdataConf() ));中UpdataConf()显示错误,提示“应输入方法名称”。将里面的括号去掉后,显示错误“UpdataConf”没有与委托“SetControlValue”匹配的重载。将UpdataConf重载为UpdataConf(object source, System.Timers.ElapsedEventArgs e),但运行时出现错误信息“线程间操作无效: 从不是创建控件“comboBoxWriteELEP0”的线程访问它。”。
问题分析:后来在学习计时器的使用时,使用System.Timers.Timer定义对象,定义计时器触发事件,依旧出现需要委托错误,暂未弄清楚用法。
问题解决:起初使用System.Timers中的Timer是由于同时引用了System.Timers和System.Forms。因此定义计时器时提示Timer定义不明确。后来使用 System.Windows.Forms.Timer定义计时器,问题解决,这个定时器是C#中最为简单的计时器,是单线程的计时器。

相关标签: C#学习笔记