2

我的组合框有问题,我想做的是某种检查。因此,如果有一个可用的串行端口,它应该出现在 texbox 中。

这是我的代码

private void LoadComportName()
{
    if (_comPortComboBox.Contains(SerialPort.GetPortNames()))
    {
        _comPortComboBox.DataSource = SerialPort.GetPortNames();
    }
}

我想我想念一些东西来完成这项工作。提前致谢

编辑 我会更好地解释它,因为它不是很清楚我想要什么,我希望它检查是否有可用的端口,所以如果没有,它必须进入组合框,组合框必须说“没有可用的端口” ”。但我认为我这样做很容易

4

1 回答 1

0

你还没有调用DataBind

_comPortComboBox.DataBind();

您可能还缺少DisplayMemberandValueMember属性。

_comPortComboBox.DisplayMember = "SerialPortName";
_comPortComboBox.ValueMember = "SerialPortValue";

这些应该在DataBind调用方法之前设置。

编辑(来自您的评论):

假设GetPortNames返回一个集合。

 var availablePorts = SerialPort.GetPortNames();

 if (availablePorts != null && availablePorts.Any()) {
    // Bind to the available ports. 
 } else {
     _comPortComboBox.Text = "No Ports are available"; 

  }
于 2013-09-09T09:51:12.130 回答