【发布时间】:2017-01-26 04:35:33
【问题描述】:
我正在使用一个列表框,但我无法让 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;
}
【问题讨论】:
-
分享
getSticks()代码。 -
如果可能,尝试在 foreach 循环中添加断点,以确保每个操纵杆都有一个有效的
Properties.InstanceName字段(例如,不为空)。 -
一般链接如stackoverflow.com/a/303283/6741868,建议在displaymember后绑定datasource,同时指定valuemember。