c# – 在设计时设置ComboBox的Text和Value属性

c# – 在设计时设置ComboBox的Text和Value属性,第1张

概述我需要将以下项添加到组合框中. Value DisplayText Mpost Posted Call Calling RScan Re-Scan 这些项目是相当静态的,不会从任何数据库中检索出来……因此想到在设计时自己分配这些项目. 我无法使用Items属性,因为它只询问每个项目的一个值…你能帮忙吗? Ps:如果您建议使用BindingSource,请举个例子.我找不到一个. 您可以使用Bind 我需要将以下项添加到组合框中.

Value displayText

Mpost Posted

Call Calling

RScan Re-Scan

这些项目是相当静态的,不会从任何数据库中检索出来……因此想到在设计时自己分配这些项目.

我无法使用Items属性,因为它只询问每个项目的一个值…你能帮忙吗?

Ps:如果您建议使用BindingSource,请举个例子.我找不到一个.

解决方法 您可以使用BindingList< keyvaluePair< string,string>>:

var items = new BindingList<keyvaluePair<string,string>>();items.Add(new keyvaluePair<string,string>("Mpost","Posted"));items.Add(new keyvaluePair<string,string>("Call","Calling"));items.Add(new keyvaluePair<string,string>("RScan","Re-Scan"));myComboBox.DataSource = items;myComboBox.ValueMember = "Key";myComboBox.displayMember = "Value";

我认为你不会找到比这更简单或更直接的解决方案.只需将它放在表单的构造函数中(在InitializeComponent之后 – 顺便说一下,我会在代码中的这一点之后附加你想要添加到ComboBox的任何事件处理程序)并且你很好.

至于为什么没有更简单的方法:老实说,我会说这是一个典型的例子,说明解决方案变得越来越复杂,你尝试制作它们的灵活性就越大.别误会我的意思; ComboBox是一个非常好的小控件.但事实是,它的目的是获取任何合法的支持源,而不仅仅是一个表,一个列表,或一个具有两个属性的项集合.由于它可以采用任何数据源,因此严格键/值配对的概念在某种程度上被剥夺了其特殊状态.因此,提供一些特殊的GUI来添加具有两个属性的项目是没有多大意义的(尽管在这种特殊情况下它可能很方便).

总结

以上是内存溢出为你收集整理的c# – 在设计时设置ComboBox的Text和Value属性全部内容,希望文章能够帮你解决c# – 在设计时设置ComboBox的Text和Value属性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1224376.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存