【发布时间】:2016-08-13 16:37:53
【问题描述】:
我正在尝试在 VS 2010 的 C# Windows 应用程序的列表框中切换 DisplayMember 属性。
我目前有两个按钮可以更改 ListBox 的 DisplayMember,但我希望有一个按钮可以在两个可用按钮之间切换。
一键使用
lstResults.DisplayMember = "Word";
在我使用的另一个中
lstResults.DisplayMember = "Hooks";
效果很好,但是当我尝试使用时
If (lstResults.DisplayMember == "Word")
lstResults.DisplayMember = "Hooks";
else
lstResults.DisplayMember = "Word";
我已对其进行了跟踪,但 DisplayMember 没有响应新分配。它不会在代码中更改。但它确实在 Listbox 本身中发生了变化。因此,我最终将 DisplayMember 卡在代码中的“Word”,并在实际显示中卡在“Hooks”。
为了使事情更具挑战性,在我删除 ListBox 并将其添加回表单之前,原始按钮将无法使用。我已经清理并重建了,没有任何变化。
我也试过
if (lstResults.DisplayMember.Equals("Word"))
没有区别。
【问题讨论】:
-
你能展示你的数据源吗?除非 DataSource 中没有名为
Hooks或Word的属性,否则您的代码应该可以正常工作。 -
数据源仅由 WordID、Word(字符串)、Hooks(字符串)组成。除非我尝试比较 DisplayMember,否则它会起作用。