组合框问题 c#
本文关键字:问题 组合 | 更新日期: 2023-09-27 18:30:48
我的组合框有问题,我想做的是某种检查。因此,如果有一个可用的串行端口,它应该出现在texbox中。
这是我的代码
private void LoadComportName()
{
if (_comPortComboBox.Contains(SerialPort.GetPortNames()))
{
_comPortComboBox.DataSource = SerialPort.GetPortNames();
}
}
我想我错过了一些东西来做这项工作。提前致谢
编辑我会更好地解释它,因为它不是很清楚我想要什么,我希望它检查是否有可用的端口,所以它必须进入组合框,如果不是组合框必须说"没有可用的端口"。但我想我这样做很容易
你还没有调用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";
}