如何在 WinForms 中将字典绑定到 ListBox

     2023-02-22     178

关键词:

【中文标题】如何在 WinForms 中将字典绑定到 ListBox【英文标题】:How to bind Dictionary to ListBox in WinForms 【发布时间】:2010-12-03 04:20:42 【问题描述】:

可以将 Dictionary 绑定到 Listbox,在 Listbox 和成员属性之间保持同步吗?

【问题讨论】:

【参考方案1】:
var choices = new Dictionary<string, string>(); 
choices["A"] = "Arthur"; 
choices["F"] = "Ford"; 
choices["T"] = "Trillian"; 
choices["Z"] = "Zaphod"; 
listBox1.DataSource = new BindingSource(choices, null); 
listBox1.DisplayMember = "Value"; 
listBox1.ValueMember = "Key"; 

(无耻地摘自我自己的博客:Bind a ComboBox to a generic Dictionary。)

这意味着您可以使用 SelectedValue 来获取列表框中所选项目的相应字典键。

【讨论】:

那里真的需要BindingSource吗? 是的,根据我的经验,它需要 BindingSource。 是的,如果您事后修改基础字典,我不确定您是否会使其工作。字典不会像 BindingList 或 ObservableCollection 那样在更改时通知。 其他人在创建新的 BindingSource(...) 时收到 ArgumentNull 异常?? 如果您的字典为空,您将得到一个空异常,您至少需要一项。【参考方案2】:
        label1.Text= listBox1.SelectedIndex.ToString();

        if ( listBox1.SelectedItem is KeyValuePair<int,DockStyle>)
        

            var temp1 = (KeyValuePair<int, DockStyle>)listBox1.SelectedItem;
            label3.Text = temp1.Key.ToString();
            label4.Text = temp1.Value.ToString();


        

【讨论】:

我知道这不是问题的匹配答案,但是当我需要在绑定后获取所选项目时,这很有帮助【参考方案3】:

我认为您可以为此使用事件。每当 ListBox 发生变化时,eventHandler 方法都会从 Dictionary 中添加/删除相同的内容。

【讨论】:

在 WinForms 中将 Listbox 绑定到 List<object>

】在WinForms中将Listbox绑定到List<object>【英文标题】:BindingListboxtoList<object>inWinForms【发布时间】:2011-02-1003:07:30【问题描述】:将列表框绑定到Windows窗体中的对象列表的最简单方法是什么?【问题讨论】:你的平台是什... 查看详情

winForms + DataGridView 绑定到 List<T>

】winForms+DataGridView绑定到List<T>【英文标题】:winForms+DataGridViewbindingtoaList<T>【发布时间】:2010-09-1214:41:04【问题描述】:我正在尝试将List&lt;T&gt;绑定到DataGridView控件,但我没有任何运气来创建自定义绑定。我试过... 查看详情

如何在winforms的datagridview中将字符串排序为数字

】如何在winforms的datagridview中将字符串排序为数字【英文标题】:howtosortstringasnumberindatagridviewinwinforms【发布时间】:2011-02-1002:33:45【问题描述】:我在datagridview中有带数字的字符串列。它没有绑定,我想按我使用的数字对它进... 查看详情

在 WinForm 中将 List<T> 绑定到 DataGridView

】在WinForm中将List<T>绑定到DataGridView【英文标题】:BindingList<T>toDataGridViewinWinForm【发布时间】:2013-05-1717:57:01【问题描述】:我有课classPersonpublicstringNameget;set;publicstringSurnameget;set;还有一个List&lt;Person&gt;,我在其 查看详情

将字典绑定到中继器

...值对。没有抛出任何错误,我可以让它与List一起工作。如何让字典显示在转发器中?【问题讨论】:【参考方案1】:绑定到字典的值集合。myRepeate 查看详情

如何在python中将一对添加到字典中?

】如何在python中将一对添加到字典中?【英文标题】:Howtoaddapairtoadictionaryinpython?【发布时间】:2015-07-0202:37:35【问题描述】:我创建了以下字典:d=我添加了一个新键和一对作为对应的d[\'Key1\']=(1,2)如果我打印字典\'Key1\':(1,2)如... 查看详情

如何在django中将python字典动态输出到html?

】如何在django中将python字典动态输出到html?【英文标题】:Howtodynamicallyoutputpythondictionarytohtmlindjango?【发布时间】:2018-08-0817:15:20【问题描述】:这是我从套接字动态获取的数据,我想用django将其显示在一个表格中,例如html中... 查看详情

如何在 Swift 中将数组添加到我的 JSON 字典

】如何在Swift中将数组添加到我的JSON字典【英文标题】:HowdoIaddanarraytomyJSONdictionaryinSwift【发布时间】:2015-03-0215:45:46【问题描述】:我在我的ios应用程序中使用swift,当涉及到数组时,我需要帮助来创建发布请求。我需要在http... 查看详情

如何在c#中将数据表绑定到datagridview

】如何在c#中将数据表绑定到datagridview【英文标题】:howtobinddatatabletodatagridviewinc#【发布时间】:2013-10-0111:09:49【问题描述】:我需要将我的DataTable绑定到我的DataGridView。我这样做:DTable=newDataTable();SBind=newBindingSource();//ServersTable... 查看详情

如何在更新数据源时让绑定的 winforms 控件刷新?

】如何在更新数据源时让绑定的winforms控件刷新?【英文标题】:HowdoIgetboundwinformscontrolstorefreshwhentheirdatasourceisupdated?【发布时间】:2012-04-0819:27:57【问题描述】:我对使用C#(但不是C#本身)和数据绑定的整个概念处理数据库非... 查看详情

如何在 Xamarin 表单中将数组绑定到 ListView

】如何在Xamarin表单中将数组绑定到ListView【英文标题】:HowToAddBindAnArrayToListViewinXamarinForms【发布时间】:2020-11-0906:31:08【问题描述】:对这个基本问题表示歉意,但我似乎无法在网上找到解决方案,希望您能帮助我。第1步-我想... 查看详情

如何在 Xamarin 中将 View 绑定到 ViewCell

】如何在Xamarin中将View绑定到ViewCell【英文标题】:HowcanIbindViewtoViewCellinXamarin【发布时间】:2021-11-2616:14:02【问题描述】:所以我在做一个MVVM应用程序并且有一个问题:我需要在应用程序中动态创建一个界面。所以我用Collection... 查看详情

如何在 RxSwift 中将 UISwitch 绑定到 UIButton 启用?

】如何在RxSwift中将UISwitch绑定到UIButton启用?【英文标题】:HowtobindUISwitchtoUIButtonenableinRxSwift?【发布时间】:2016-05-2710:39:57【问题描述】:我有一个UISwitch,需要选择它才能继续进入下一个表单屏幕。所以我想将选中的UISwitch绑... 查看详情

我们如何在 swift 2.3 中将值附加到包含 3 个元素的字典中?

】我们如何在swift2.3中将值附加到包含3个元素的字典中?【英文标题】:Howdoweappendvaluestodictionarycontaining3elementsinswift2.3?【发布时间】:2017-02-1311:58:40【问题描述】:我正在尝试将值附加到我这样声明的字典中。varsetHomIconDict:[(ico... 查看详情

如何在 Xcode 项目中将字典数组写入 .txt 文件

】如何在Xcode项目中将字典数组写入.txt文件【英文标题】:Howtowriteanarrayofdictionariestoa.txtfileinXcodeProject【发布时间】:2017-06-1613:18:36【问题描述】:我正在从Firebase检索数据,然后将接收到的FIRDataSnapshot类型的数组转换为[String:Any... 查看详情

如何在 RxSwift 中将多个数据模型绑定到 TableView

】如何在RxSwift中将多个数据模型绑定到TableView【英文标题】:HowtobindmultipledatamodelstoTableViewinRxSwift【发布时间】:2019-09-0609:14:58【问题描述】:我正在学习RxSwift。但这很困难,所以我发布了一个问题。情况:我想在tableView中显... 查看详情

如何在 Swift 中将键值对添加到类型为 [String:AnyObject] 的字典中?

】如何在Swift中将键值对添加到类型为[String:AnyObject]的字典中?【英文标题】:Howtoaddakeyvaluepairtoadictionaryoftype[String:AnyObject]inSwift?【发布时间】:2016-09-3018:35:23【问题描述】:我已将JSON文件的内容存储在[[String:AnyObject]]类型的字... 查看详情

如何在 FastAPI 中将字典列表作为 Body 参数发送?

】如何在FastAPI中将字典列表作为Body参数发送?【英文标题】:HowDoIsendlistofdictionaryasBodyparameterinFastAPI?【发布时间】:2020-11-1612:28:53【问题描述】:在FastAPI中传递字典列表,一般我们会定义一个pydantic模式并提及为param:List[schema_m... 查看详情