类 c#错误 应输入class、delegate、enum···等等 老师随机分的题 根本没学

问题描述

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO.Ports;namespace串口助手{publicpartialclassForm1:Form{SerialPortsp=null;//声明一个串口类boolisOpen=false;//打开串口标志位boolisSetProperty=false;//属性设置标志位boolisHex=false;//十六进制显示标志位publicForm1(){InitializeComponent();//窗口初始化,net自动生成}privatevoidForm1_Load(objectsender,EventArgse){this.MaximumSize=this.Size;this.MinimumSize=this.Size;this.MaximizeBox=false;for(inti=0;i<10;i++)//最大支持到串口10,可根据自己需求增加{cbxCOMPort.Items.Add("COM"+(i+1).ToString());}cbxCOMPort.SelectedIndex=0;//列出常用的波特率cbxBaudRate.Items.Add("1200");cbxBaudRate.Items.Add("2400");cbxBaudRate.Items.Add("4800");cbxBaudRate.Items.Add("9600");cbxBaudRate.Items.Add("19200");cbxBaudRate.Items.Add("38400");cbxBaudRate.Items.Add("43000");cbxBaudRate.Items.Add("56000");cbxBaudRate.Items.Add("57600");cbxBaudRate.Items.Add("115200");cbxBaudRate.SelectedIndex=5;//列出停止位cbxStopBits.Items.Add("0");cbxStopBits.Items.Add("1");cbxStopBits.Items.Add("1.5");cbxStopBits.Items.Add("2");cbxStopBits.SelectedIndex=1;//列出数据位cbxDataBits.Items.Add("8");cbxDataBits.Items.Add("7");cbxDataBits.Items.Add("6");cbxDataBits.Items.Add("5");cbxDataBits.SelectedIndex=0;//列出奇偶校验位cbxParity.Items.Add("无");cbxParity.Items.Add("奇校验");cbxParity.Items.Add("偶校验");cbxParity.SelectedIndex=0;//默认为Char显示rbnChar.Checked=true;}privatevoidbtnCheckCOM_Click(objectsender,EventArgse)///检测哪些串口可用{boolcomExistence=false;//有可用串口标志位cbxCOMPort.Items.Clear();//清除当前串口号中的所有串口名称for(inti=0;i<10;i++){try{SerialPortsp=newSerialPort("COM"+(i+1).ToString());sp.Open();sp.Close();cbxCOMPort.Items.Add("COM"+(i+1).ToString());comExistence=true;}catch(Exception){continue;}}if(comExistence){cbxCOMPort.SelectedIndex=0;//使ListBox显示第1个添加的索引}else{MessageBox.Show("没有找到可用串口!","错误提示");}}privateboolCheckPortSetting();//检查串口是否设置//这里的括号全都‘(’无效{if(cbxCOMPort.Text.Trim()=="")returnfalse;if(cbxBaudRate.Text.Trim()=="")returnfalse;if(cbxDataBits.Text.Trim()=="")returnfalse;if(cbxParity.Text.Trim()=="")returnfalse;if(cbxStopBits.Text.Trim()=="")returnfalse;returntrue;}privateboolCheckSendData()//从这里开始就boolvoid出错了{if(tbxSendData.Text.Trim()=="")returnfalse;returntrue;}privatevoidSetPortProperty()//设置串口的属性{sp=newSerialPort();sp.PortName=cbxCOMPort.Text.Trim();//设置串口名sp.BaudRate=Convert.ToInt32(cbxBaudRate.Text.Trim());//设置串口的波特率floatf=Convert.ToSingle(cbxStopBits.Text.Trim());//设置停止位if(f==0){sp.StopBits=StopBits.None;}elseif(f==1.5){sp.StopBits=StopBits.OnePointFive;}elseif(f==1){sp.StopBits=StopBits.One;}elseif(f==2){sp.StopBits=StopBits.Two;}else{sp.StopBits=StopBits.One;}sp.DataBits=Convert.ToInt16(cbxDataBits.Text.Trim());//设置数据位strings=cbxParity.Text.Trim();//设置奇偶校验位if(s.CompareTo("无")==0){sp.Parity=Parity.None;}elseif(s.CompareTo("奇校验")==0){sp.Parity=Parity.Odd;}elseif(s.CompareTo("偶校验")==0){sp.Parity=Parity.Even;}else{sp.Parity=Parity.None;}sp.ReadTimeout=-1;//设置超时读取时间sp.RtsEnable=true;//定义DataReceived事件,当串口收到数据后触发事件sp.DataReceived+=newSerialDataReceivedEventHandler(sp_DataReceived);if(rbnHex.Checked){isHex=true;}else{isHex=false;}}privatevoidbtnSend_Click(objectsender,EventArgse)//发送串口数据{if(isOpen)//写串口数据{try{sp.WriteLine(tbxSendData.Text);}catch(Exception){MessageBox.Show("发送数据时发生错误!","错误提示");return;}}else{MessageBox.Show("串口未打开!","错误提示");return;}if(!CheckSendData())//检测要发送的数据{MessageBox.Show("请输入要发送的数据!","错误提示");return;}}privateboolbtnOpenCom_Click(objectsender,EventArgse){{if(isOpen==false){if(!CheckPortSetting())//检测串口设置{MessageBox.Show("串口未设置!","错误提示");return;}if(!isSetProperty)//串口未设置则设置串口{SetPortProperty();isSetProperty=true;}try//打开串口{sp.Open();isOpen=true;btnOpenCom.Text="关闭串口";//串口打开后则相关的串口设置按钮便不可再用cbxCOMPort.Enabled=false;cbxBaudRate.Enabled=false;cbxDataBits.Enabled=false;cbxParity.Enabled=false;cbxStopBits.Enabled=false;rbnChar.Enabled=false;rbnHex.Enabled=false;}catch(Exception){//打开串口失败后,相应标志位取消isSetProperty=false;isOpen=false;MessageBox.Show("串口无效或已被占用!","错误提示");}}else{try//打开串口{sp.Close();isOpen=false;isSetProperty=false;btnOpenCom.Text="打开串口";//关闭串口后,串口设置选项便可以继续使用cbxCOMPort.Enabled=true;cbxBaudRate.Enabled=true;cbxDataBits.Enabled=true;cbxParity.Enabled=true;cbxStopBits.Enabled=true;rbnChar.Enabled=true;rbnHex.Enabled=true;}catch(Exception){lblStatus.Text="关闭串口时发生错误";}}}}privatevoidsp_DataReceived(objectsender,SerialDataReceivedEventArgse);{{System.Threading.Thread.Sleep(100);//延时100ms等待接收完数据//this.Invoke就是跨线程访问ui的方法,也是本文的范例this.Invoke((EventHandler)(delegate{if(isHex==false){tbxRecvData.Text+=sp.ReadLine();}else{byte[ReceivedData]=newbyte[sp.BytesToRead];//创建接收字节数组sp.Read(ReceivedData,0,ReceivedData.Length);//读取所接收到的数据StringRecvDataText=null;for(inti=0;i<ReceivedData.Length-1;i++){RecvDataText+=("0x"+ReceivedData[i].ToString("X2")+"");}tbxRecvData.Text+=RecvDataText;}sp.DiscardInBuffer();//丢弃接收缓冲区数据}));}}privatevoidbtnCleanData_Click(objectsender,EventArgse){tbxRecvData.Text="";tbxSendData.Text="";}}}

解决方案

解决方案二:
我需要大神的帮助因为这个一点没学过,老师就是赶鸭子上架
解决方案三:
我的天,就没大神么。

时间: 2024-10-23 07:52:59

类 c#错误 应输入class、delegate、enum···等等 老师随机分的题 根本没学的相关文章

linux下quagga的安装的最后步骤在“password:”处应输入什么,为什么会出现下面的错误

问题描述 linux下quagga的安装的最后步骤在"password:"处应输入什么,为什么会出现下面的错误 安装到最后时: ~/quagga-0.99.19$ telnet localhost 2601 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Hello, this is Quagga (version 0.99.19). Copyright 1996-2005 Kunihiro I

C#中派生类的方法里的匿名delegate调用基类的方法会产生无法验证的代码

看来阅读一个开发人员的blog是获取知识的一个捷径,特别是当那位开发人员负责的产品是你天天都用的基础设施之一,例如说--编译器.在阅读Eric Lippert的blog时,我无意中了解到了很多我以前所不熟悉的知识,例如说一些语言特性,一些编程思想之类:但更有趣的,我了解到了很多他所负责的产品中的诡异地方. 开篇花絮: 假如我们现在有一个枚举类型E,其中有一个枚举值的名字是x. 你或许知道这个表达式是对的: C#代码 0 | E.x 但是你或许不知道这个表达式(根据语言规范应该)是错的: C#代码

应输入 #endregion 指令——整个文档都查故来了,没有少#endregion

问题描述 本人用#region#endregion排版是出现错误:提示:应输入#endregion但是找遍整个文档了就是不见哪里少--------------------------------------------------------------------------另外会在.cs文件的头部自动出现,下列文字,#pragmachecksum"d:xihuozipd2005App_CodeDataBasePD.cs""{406ea660-64cf-4c82-b6f0-

test-这是我写的快速排序的算法,为什么编译时出错并提示“swap函数应输入两个参数,却提供了3个”啊

问题描述 这是我写的快速排序的算法,为什么编译时出错并提示"swap函数应输入两个参数,却提供了3个"啊 求助!这是我写的快速排序的算法,为什么编译时出错并提示"swap函数应输入两个参数,却提供了3个"啊~~谢谢大家啦! #include using namespace std; inline int findpivot(int arr[],int i,int j){ return (i+j)/2; } inline int partition(int arr[]

应输入 #endregion 指令报错的排查技巧

VS2010中错误排查的一个小技巧,欢迎大家吐槽: 错误    9    应输入 #endregion 指令sses.cs    3778    2  xxx.xx   这个错很明显,是缺少#endregion ,问题是,如果代码比较长,不好找到错误的地方, 根据查找的经验,在VS2010中双击报错信息,找到报错的地方,然后向上找,最近的一个#region应该就是缺少#endregion 的那个.

移植-eigen库的问题,出现了非法基类的错误~

问题描述 eigen库的问题,出现了非法基类的错误~ 最近在移植一个程序,是国外一个大牛在linux下结合ROS系统写的一个程序,叫lsd_slam.__我是纯小白啊,_老师就叫我把它移植到Windows下来,_然后就碰到了一个错误,说T非法基类,指向的是eigen库里面的一个头文件里的代码 namespace internal { template struct workaround_msvc_stl_support : public T { inline workaround_msvc_st

name-spring3 struts2框架整合错误,提示说action类注入错误

问题描述 spring3 struts2框架整合错误,提示说action类注入错误 No bean named 'userService' is definedError creating bean with name 'action.UserAction': Injection of resource methods failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionExcepti

vc++-VC++类 小错误 函数引用的

问题描述 VC++类 小错误 函数引用的 求大神指导啊 特别急 解决方案 看这些没用,你应该打开调用堆栈窗格,往下看,找到第一个你写的函数,双击,然后找到你调用的代码行,仔细检查这一行你变量指针.

分析下这个错误,谢谢,300分了,还没见到答案,thx

问题描述 发生未处理的异常,并已终止进程.ApplicationID:/LM/W3SVC/1/ROOTProcessID:3928Exception:System.ComponentModel.Win32ExceptionMessage:系统找不到指定的文件.StackTrace:在System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfostartInfo)在System.Diagnostics.Process.Star