gpt4 book ai didi

C# 我可以将字典中对象的属性显示为 ListControl.DisplayMember 吗?

转载 作者:太空狗 更新时间:2023-10-29 21:50:47 26 4
gpt4 key购买 nike

目的是将列表视为“名称”列表。

这是字典:

class Scripts
{
public Dictionary<int, Script> scripts = new Dictionary<int, Script>();
...
}

这是我要查找的属性“名称”:

class Script
{
public string name { get; set; }
...
}

问题是:

public partial class MainForm : Form
{
Scripts allScripts;

public MainForm()
{
InitializeComponent();
allScripts = new Scripts();
setupDataSources();
}

private void setupDataSources()
{
BindingSource ketchup = new BindingSource(allScripts.scripts, null);
//THIS LINE:
listBoxScripts.DisplayMember = allScripts.scripts["Key"].name.ToString();
listBoxScripts.ValueMember = "Key";
listBoxScripts.DataSource = ketchup;
}
...
}

我只是想不出如何让那条线工作!非常感谢您的建议!

谢谢

最佳答案

您可以绑定(bind)到 Value 并覆盖 Script 类中的 ToString 方法。

private void setupDataSources()
{
BindingSource ketchup = new BindingSource(allScripts.scripts, null);
listBoxScripts.DisplayMember = "Value";
listBoxScripts.ValueMember = "Key";
listBoxScripts.DataSource = ketchup;
}

脚本类:

class Script
{
public string name { get; set; }

public override string ToString()
{
return name;
}
}

关于C# 我可以将字典中对象的属性显示为 ListControl.DisplayMember 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15817739/

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