gpt4 book ai didi

c# - 组合框显示成员问题,快把我逼疯了

转载 作者:行者123 更新时间:2023-11-30 13:22:27 26 4
gpt4 key购买 nike

抱歉打扰,但我在使用 C# Winforms 时遇到了问题,因为我一直在寻找同样的问题,我找到了一些解决方案,但它们对我不起作用。好的,我有一个包含对象的绑定(bind)列表

BindingList<objects.usuario> usuarios = new BindingList<objects.usuario>();

对象有一些公共(public)字符串和int变量,一个string和一个int是我需要的变量。

public string dataNombreCompleto;
public int dataIdUsuario;

所以,一旦列表“usuarios”有一些对象,我就这样做

            cbAdministrativos.DisplayMember = "dataNombre";
cbAdministrativos.ValueMember = "dataIdUsuario";
cbAdministrativos.DataSource = usuarios;

问题是,它不起作用,组合框 (cbAdministrativos) 仍然显示该对象。

当我通过调试器时,在断点之后,组合框设置显示成员、值成员和数据源,随着代码的进行,但是,在下一条指令(方法的末尾)中,我意识到displaymember 神奇地变成了 ""而不是字符串 "dataNombre"。

有什么想法吗?

提前致谢,抱歉英语不好。

抱歉并感谢大家!在我的绝望中,我尝试了对象中的不同字段,但我没有意识到我为问题中的示例代码留下了“dataNombre”而不是“dataNombreCompleto”,无论如何这是正确的,这是我原始代码中的原始 DisplayMember , 但是,问题仍然存在 :(

最佳答案

应该是:

cbAdministrativos.DisplayMember = "dataNombreCompleto";

另外,考虑使用公共(public)属性而不是公共(public)字段。

Public Fields are evil

改变这个:

public string dataNombreCompleto;
public int dataIdUsuario;

对此:

public string dataNombreCompleto { get; set; }
public int dataIdUsuario { get; set; }

关于c# - 组合框显示成员问题,快把我逼疯了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22290637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com