2013-09-09 3 views
2

У меня проблема с моим списком, то, что я пытаюсь сделать, это какая-то проверка. Итак, если есть доступный serialport, он должен появиться в texbox.Проблемы с Combobox C#

Это мой код

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

Я думаю, что я пропустил что-то, чтобы сделать эту работу. Заранее спасибо

EDIT Я объясню это немного лучше, потому что его не очень понятно, что я хочу, я хочу, чтобы он проверяет, есть ли порты доступны и поэтому он должен идти в выпадающем списке, если не combobox должен сказать что-то вроде «Нет доступных портов». Но я думаю, что я делаю это, чтобы легко

+1

Ваш отсутствующий ваши вопросы подробно .. Я думаю, что вы хотите 'combobox.Items.Contains', но понятия не имею, если вы используете WPF/WinForms, какой последовательный порт относится, то, что' GetPortNames' возвращается .. [ "Извлекает значение, указывающее, является ли указанный элемент управления дочерним элементом элемента управления. "] (http://msdn.microsoft.com/en-us/library/system.windows.forms.control.contains.aspx) – Sayse

+0

Это winform приложение или ASP.NET? Ожидается, что GetPortNames() должен вернуться? – Steve

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

    } 
+0

Моя проблема не в том, что я не могу показать доступные порты. Проблема в том, что когда нет доступных портов, я хочу, чтобы он показывал что-то вроде «No porst avalble», но там, где мне нужно что-то проверить –

+0

@ user2721466 - проверьте мое редактирование. –

+1

Большое спасибо, я буду принимать это как ответ, как только смогу –