首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WinForms自定义ComboBox不显示List<>项目的名称

是因为ComboBox默认情况下会调用每个对象的ToString()方法来显示项目的名称。如果List<>中的对象没有重写ToString()方法或者ToString()方法返回的是空字符串,那么ComboBox就无法显示项目的名称。

要解决这个问题,可以通过以下几种方式:

  1. 重写对象的ToString()方法:在List<>中的对象类中重写ToString()方法,返回你想要显示的项目名称。例如:
代码语言:txt
复制
public class MyObject
{
    public string Name { get; set; }

    public override string ToString()
    {
        return Name;
    }
}
  1. 使用DisplayMember属性:将ComboBox的DisplayMember属性设置为List<>中对象的属性名称,这样ComboBox会根据该属性来显示项目的名称。例如:
代码语言:txt
复制
List<MyObject> myList = new List<MyObject>();
// 添加项目到myList...

comboBox1.DataSource = myList;
comboBox1.DisplayMember = "Name";
  1. 使用ValueMember属性:如果你希望ComboBox的每个项目都有一个关联的值,可以使用ValueMember属性来指定List<>中对象的属性名称作为项目的值。例如:
代码语言:txt
复制
List<MyObject> myList = new List<MyObject>();
// 添加项目到myList...

comboBox1.DataSource = myList;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Id";

以上是解决WinForms自定义ComboBox不显示List<>项目名称的几种方法。根据具体的需求和场景选择合适的方式来实现。如果你想了解更多关于WinForms开发的信息,可以参考腾讯云的WinForms产品文档:WinForms产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【愚公系列】2023年11月 WPF控件专题 2023秋招WPF高频面试题

自定义现有类型时,WPF 也更加灵活。WPF 更适合创建“华丽”的 GUI。 只是它需要比 WinForms 更新的 .net 框架,并且需要兼容 dx9 或更高的 GPU。...WinForms 仍然是一强大的技术,通常可以以比 WPF 更快的速度开发,但是,最终,这两种技术都可以用来实现相同的目标。...并且只在 ComboBox显示 Name 属性和 DisplayMemberPath 属性)。...条目的键是属性的名称,值是您要设置的值。 依赖属性的优点如下:减少内存占用当 UI 控件的 90% 以上的属性通常保持其初始值时,为每个属性存储一个字段是一种巨大的消耗。...条目的键是属性的名称,值是您要设置的值。 依赖属性的优点如下:减少内存占用当 UI 控件的 90% 以上的属性通常保持其初始值时,为每个属性存储一个字段是一种巨大的消耗。

42622

【愚公系列】2023年11月 WPF控件专题 WindowFormsHost控件详解

WPF控件可以分为两类:原生控件和自定义控件。原生控件是由Microsoft提供的内置控件,如Button、TextBox、Label、ComboBox等。这些控件都是WPF中常见的标准用户界面元素。...自定义控件则允许开发人员使用XAML和C#等编程语言来创建个性化的用户界面元素。自定义控件可以根据需求提供更多的功能和自定义化选项,以及更好的用户体验。...WindowFormsHost控件工作原理是将WinForms控件作为其子元素添加到WPF的逻辑树中。在运行时,WinForms控件被呈现在WPF窗口中。...例如,我们可以像以下代码一样向嵌入的ListBox控件添加:using System.Windows.Forms;public partial class MainWindow : Window{...3.具体案例WindowFormsHost控件用于在WPF的窗口中嵌入WinForms控件,可以方便地在WPF应用程序中使用WinForms控件。

60641

WPF面试题-来自ChatGPT的解答

值转换器通常用于以下情况: 数据类型转换:当绑定的源数据类型与目标属性的类型匹配时,值转换器可以将源数据转换为目标类型,以便正确地显示或使用。...数据适配:当绑定的源数据与目标属性的数据结构匹配时,值转换器可以将源数据适配为目标属性所需的数据结构,以便正确地显示或使用。...它负责接收用户输入、显示数据和反馈结果。View应该尽量保持简单,只关注界面的展示和用户交互,涉及具体的业务逻辑。...使用ItemTemplate定义每个的外观,可以使用数据绑定将数据显示上。 可选地,可以使用其他属性如SelectedItem、SelectedItems等来处理选择的。...每个使用TextBlock来显示数据,通过数据绑定将数据显示上。

32030

Easyui datagrid combobox输入框下拉(取消)选值和编辑已选值处理

测试环境 jquery-easyui-1.5.3 需求场景 如下,在datagrid中新增、编辑记录: 新增时通过点选指定combobox下拉列表项来实现选择、取消选择所点(多选combobx:如果输入框中没有该选项...,则选中该项,并自动显示combobox输入框中,否则取消选中该项,并自动去除combobox中对应的;) 编辑时,点击下拉三角,打开下拉列表,列表中自动选中同输入框中的值对应的列表项;另外,输入框支持手动输入...),就等同于未选中选项的情况下,手动点选下拉列表项,会自动触发onSelect事件 3)多选combobox,如果点选下拉列表项,如果点击之前选项已选中,则会取消选中该选项,并去掉combobox中对应...5)隐藏、收起combobox下拉列表框时,会自动触发onHidePannel事件,该事件处理函数携带参数 解决方案: 1)设置所属项目combobox多选,可编辑,为其添加onSelect,onUnSelect...、环境名称已选文本值和下拉列表中的选项关联 $(projectEditor.target).combobox('setValues', projectIDList); $(environmentEditor.target

3.3K10

C#自定义泛型类绑定ComboBox控件

C# WinForm ComboBox 自定义数据 (ComboBoxItem ) WinForm下的ComboBox默认是以多行文本来设定显示列表的, 这通常不符合大家日常的应用,  因为大家日常应用通常是键...因为Combox的每一个的值是一个object, 实际上就是一个键/值对....我用的是下面这个类的实例作为它的一个:     ///      /// ComboBox     ///      class ListItem : System.Object...的值了, 首先我们定义一个ListItem的清单作为ComboBox的数据源:             List items = new List();             ..., 取值等操作:             drpTest.SelectedValue = "4";        //设定选择             //取得当前选择的

1.6K10

WPF ComboBox 使用 ResourceBinding 动态绑定资源键并支持语言切换

先来看看本次的使用场景吧,简单来说就是一个下拉框控件绑定了键值对列表,显示的是其中的键,但是要求是支持国际化(多语言),如下图: 由于要支持多语言,所以键值对的键不是直接显示的值,而是显示值的资源键...关键在于,此处不是使用普通的 Binding,而是使用了自定义的标记扩展 ResourceBinding,其代码如下: using System; using System.ComponentModel...这里直接拿来使用,可以达到动态绑定资源 key 的目的。 如果使用的是普通的 Binding,则只能显示原始值: 最后来看看中英文切换,当然,如果有其它语言,也是一样可以切换的。...首先是移除现有语言资源的方法: /// /// 语言名称列表 /// private readonly List _LangKeys = new...资源路径模板,形如:"/WPFPractice;component/Resources/Language/{0}.xaml" /// 语言名称

1.9K31

“老坛泡新菜”:SOD MVVM框架,让WinForms焕发新春

火热的MVVM框架 最近几年最热门的技术之一就是前端技术了,各种前端框架,前端标准和前端设计风格层出穷,而在众多前端框架中具有MVC,MVVM功能的框架成为耀眼新星,比如GitHub关注度很高的Vue.js...注意:此解决方案是使用SOD Ver 5.5.5.1019 做的,因为这是目前nuget 上SOD的版本,最新的SOD框架已经把WinFormMvvm项目的 MvvmForm.cs 文件纳入到框架之内了...创建MVVM的WinForm视图 这是一个简单的WinForm 窗体,有三个SOD“数据控件”,包括:一个标签控件显示用户的ID,文本框控件显示用户名,一个列表框控件显示已经有用户列表,三个按钮分别用来向列表添加...由于这里我们要绑定的对象是当前窗体的DataContext对象,所以需要浏览选择到主程序集,这样在属性名称一栏,会显示此对象所有的属性和子属性。...); int max = list.Max(p => p.ID); index = ++max; return list;

3.7K60

数据库之ADO.NET基础知识整理

MyDatabase;Integrated Security=True" name="strCon" />                             //自定义名称...   comboBox1.SelectedIndex = 0;     //显示第一行 3.想要拿到控件选定时的数据,可将其转换为所需对象用as     Areaarea= comboBox1.SelectedItem...{            List list = new List();            string sql = "SELECT tID,TName FROM...控件的两大属性    1.DisplayMember属性,选择要显示的内容 2.ValueMember属性,记录下来需隐藏的内容 3.注意事项:ComboBox的数据源绑定方法,会触发“选择改变事件”....ValueMember = "tclassid";            //指出所需显示的内容,只是单纯的指示            comboBox1.DisplayMember = "tclassName

1.9K20

【愚公系列】2023年11月 Winform控件专题 ComboBox控件详解

1.2 MaxDropDownItems和IntegralHeightComboBox控件是Winform中常用的控件之一,用于在下拉列表中显示可供选择的数据。...这种模式可以用于实现特定的绘制效果,例如自定义下拉列表项的颜色、字体、图标等。使用DrawMode属性来设置ComboBox控件的绘制模式非常简单。...在这里,我们将ComboBox控件中的奇数行设置为红色,偶数行设置为黑色。在实际开发中,可以根据需求自行修改绘制代码,实现自定义的下拉列表项效果。...comboBox1.SelectedIndex; // 在Label控件中显示当前选择 label1.Text = "您选择了:" + selectedItem + ",索引号为:" +...selectedIndex;}ComboBox的SelectedIndexChanged事件中获取了SelectedItem和SelectedIndex属性的值,并在Label控件中显示了当前选择的信息

1.2K11

【愚公系列】2023年11月 Winform控件专题 CheckedListBox控件详解

例如,如果您单击未选中的,则会将其选中;而如果您单击选中的,则会将其取消选中。另外,如果鼠标指针在上滞留超过短暂时间,则该项将显示为选中状态。...3.具体案例一个CheckBoxList控件是一个Winforms控件,它允许用户从多个选项中进行选择。每个选择都由一个复选框和相应的文本标签组成。用户可以单击复选框以选中或取消选中一个。...该控件的默认名称为checkedListBox1。接下来,我们需要在窗体的Load事件中添加一些代码,以便向CheckBoxList控件添加一些项目。...消息框显示用户选择或取消选择的的文本。要获取选定的索引,我们可以使用ItemCheckEventArgs对象的Index属性。...最后,我们弹出一个消息框,显示用户选择的所有项目的文本。这是一个非常基本的示例,演示如何在Winforms应用程序中使用CheckBoxList控件。

67211

C++ Qt开发:QItemDelegate自定义代理组件

在Qt中,QStyledItemDelegate 类是用于创建自定义表格视图(如QTableView和QTableWidget)的委托类,允许你自定义表格中每个单元格的外观和交互。...在自定义代理中QAbstractItemDelegate是所有代理类的抽象基类,它用于创建自定义委托。提供了一个基本的框架,使得可以定制如何在视图中绘制和编辑数据。...,用于控制数据在视图中的外观和交互行为。...Class 输入自定义名称QWintSpinDelegate,然后基类继承QStyledItemDelegate/QMainWindow,然后下一步结束向导,同理其他功能的创建也如此。...; editor->setMaximum(10000); return editor; // 返回此编辑器}// 从数据模型获取数据,显示到代理组件中

39610
领券