我的组合框有问题,我正在尝试做的是某种检查。 因此,如果有一个序列端口可用,它应该出现在texbox中。
这是我的代码
private void LoadComportName()
{
if (_comPortComboBox.Contains(SerialPort.GetPortNames()))
{
_comPortComboBox.DataSource = SerialPort.GetPortNames();
}
}
我想我想念一些让这项工作成真的事情。提前致谢
修改 我会更好地解释它,因为它不是很清楚我想要什么, 我希望它检查是否有可用的端口,如果不是组合框必须说“无端口可用”,它必须进入组合框。但我认为我这样做很容易
答案 0 :(得分:0)
您尚未调用DataBind
:
_comPortComboBox.DataBind();
您可能还缺少DisplayMember
和ValueMember
属性。
_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";
}