2017-01-26 28 views
0

Я работаю со списком, но мне не удается правильно обновить DisplayMember, и я не уверен, почему.C# Listbox DisplayMember не обновляется

У меня есть список подключенных джойстиков, которые я пытаюсь отобразить в списке.

 joyListBox.DataSource = getSticks(); 
     joyListBox.DisplayMember = "Properties.InstanceName"; 

Метод getSticks() выше возвращает допустимый список объектов джойстика. Я проверил, что Properties.InstanceName - это строка, показывающая дружественное имя джойстика. Программа работает без ошибок, но отображает значение по умолчанию (toString) для джойстика.

По желанию, я добавляю в getSticks (код):

частного Список getSticks() {

 List<Joystick> sticks = new List<Joystick>(); 
     foreach (DeviceInstance device in input.GetDevices(DeviceClass.GameControl, DeviceEnumerationFlags.AttachedOnly)) 
     { 
      Joystick stick = new Joystick(input, device.InstanceGuid); 
      sticks.Add(stick); 
     } 
     return sticks; 
    } 
+0

Поделиться кодом 'getSticks()'. –

+0

Если возможно, попробуйте добавить точку останова внутри цикла foreach, чтобы убедиться, что каждый джойстик имеет допустимое поле «Свойства.InstanceName» (например, не null). –

+0

Из общих ссылок, таких как http://stackoverflow.com/a/303283/6741868, предлагается связать источник данных после displaymember, также указать значение valuemember. –

ответ

0

DisplayMember должен быть названием вашей собственности. Возьмем пример. Существует класс по имени JoyStick

public class JoyStick 
{ 
    private int key; 
    private string value; 
    public JoyStick() { } 
    public int Key 
    { 
     set { this.key = value; } 
     get { return this.key; } 
    } 
    public string Value 
    { 
     set{this.value=value;} 
     get { return this.value; } 
    } 
} 

Таким образом, дисплей & Значение Члены будет как

 joyListBox.DisplayMember = "Value"; 
     joyListBox.ValueMember = "Key"; 

Если это не поможет вам понять, использование элемента Value Display & или есть что-нибудь еще, то, дайте мне знать. С уважением!

 Смежные вопросы

  • Нет связанных вопросов^_^