检查开放串口时为什么会出现异常?

时间:2017-04-13 15:04:21

标签: c# combobox serial-port

我正在尝试检查打开的串行端口,将其从comboBox中删除,但是当我点击comboBox下拉列表时,即使端口关闭,我也会在行检查Open Serial Port时遇到异常。为什么会这样?请帮忙!这是我的代码。例外情况说:'System.NullReferenceException'发生了。如果if条件为true,则当serialport1打开时,则没有异常。为什么?!

count()

1 个答案:

答案 0 :(得分:0)

好吧,我想我现在明白了。这是实际的代码,它做了它应该做的事情。 它刷新comboBox条目并从列表中删除打开的端口。

    private void comboBox9_DropDown(object sender, EventArgs e)
    {
        comboBox9.Items.Clear();
        string[] portNames = SerialPort.GetPortNames();     //<-- Reads all available comPorts
        foreach (var portName in portNames)
        {
            comboBox9.Items.Add(portName);
        }
        if (_serialPort1 != null && _serialPort1.IsOpen)
        {
            comboBox9.Items.Remove(_serialPort1.PortName);
        }
    }