日期:2014-05-17  浏览次数:20870 次

关于C#中comboBox控件与串口
你好,我是一名大学生,我自学C#,但有一点卡住了,不知怎么办:
private void button1_Click(object sender 
       {
            try 
            {
                serialPort1.PortName = comboBox1.SelectedItem.ToString();
            }
            catch
            {
                MessageBox.Show("something wrong in PortName: " +comboBox1.SelectedItem.ToString());
                return;
            }

            this.serialPort1.Open();
}
程序如上,我在窗口中设置了一个comboBox控件,我已双击产生对应方法啦,并在其Item中设置了COM1,COM2,COM3。我用虚拟串口向此程序发数据,此程序对应端口为COM3。但程序都是运行到catch里边,然后端口打不开。这是怎么回事?我的QQ是1070857096,可以直接回复,更希望通过QQ联系。谢谢……

------解决方案--------------------
本帖最后由 bdmh 于 2012-09-29 13:37:43 编辑
先看看你有没有你要打开的com口,比如你打开com1,但你的电脑未必有com1,或者com1被占用等等
comboBox1.SelectedItem是否为null
------解决方案--------------------
对,在设备管理器里看看端口情况,或者被别的设备占用着
------解决方案--------------------
同意#1楼的观点。
就那一条破语句,除了comboBox1.SelectedItem为null值(即没有选中的项)之外,还能有什么异常报出来。
除非是你的代码不全,只贴了一句出来给大家看。