组合框问题c#

时间:2013-09-09 09:48:46

标签: c# combobox

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

这是我的代码

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

我想我想念一些让这项工作成真的事情。提前致谢

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

1 个答案:

答案 0 :(得分:0)

您尚未调用DataBind

_comPortComboBox.DataBind();

您可能还缺少DisplayMemberValueMember属性。

_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"; 

  }