c# - 组合框问题c#

标签 c# combobox

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

这是我的代码

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

我想我错过了一些让这项工作成功的东西。提前致谢

编辑 我会更好地解释它,因为它不是很清楚我想要什么, 我希望它检查是否有可用端口,如果没有,它必须进入组合框,否则组合框必须说“没有可用端口”之类的内容。但我想我做得很简单

最佳答案

你还没有调用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"; 

  }

关于c# - 组合框问题c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18695588/

相关文章:

c# - 应该如何实现 DbContext 和与 DB 的连接来处理负载测试?

c# - 等待外部进程完成

c# - 如何让核心类调用客户端类?

wpf - 组合框丢失 SelectedIndex

php - 从组合框中选择值

c# - ComboBox WPF 数据绑定(bind)到 DataView

c# - 如何更新 Silverlight 4 Datagrid 中的字段?

c# - 如何防止 Windows (Phone) 8.1 通用应用程序中的锁屏?

wpf - 如何创建 WPF 组合框平面样式?

excel - VBA在用户窗体中动态创建多个文本框/组合框