C#Listbox DisplayMember未更新

时间:2017-01-26 04:35:33

标签: c# listbox sharpdx

我正在使用列表框,但我无法让DisplayMember正确更新,我不知道为什么。

我所拥有的是我尝试在列表框中显示的连接操纵杆列表。

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

上面的getSticks()方法返回一个有效的Joystick对象列表。我已经验证了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;
    }

1 个答案:

答案 0 :(得分: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; }
    }
}

所以,显示&amp;价值成员就像

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

如果这不能帮助您了解Display&amp; amp;的使用情况。值得成员或其他任何事情,然后,让我知道。 此致!