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

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产品介绍

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

相关·内容

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.4K10

实现查询菜品信息考试题

题目:菜品信息查询 一、语言和环境 A 实现语言 C#,WinForms B 环境要求 Visual Studio 2012, mysql 二、要求 某饭店餐饮部的管理系统中要求使用Visual...菜系信息表中所有字段均必须设置为非空字段,其他设置参见下表: 数据表名 cookType 实体名 菜系表 字段显示 字段名 数据类型 字段大小 备注和说明 菜系ID id int 主键,自增1 菜系名称...MenuSearchForm,窗体标题更改为“菜品查询”; 4、按照图-1所示进行窗体设计,在窗体MenuSearchForm中添加1个标签(Label)控件、2个按钮控件(Button)、1个组合框控件(ComboBox...)、1个数据视图控件(ListView)和1个上下文菜单控件(ContextMenuStrip),窗体显示位置为屏幕中央,窗体禁止最大化; 5、创建数据库连接,窗体初始状态显示全部菜品信息;将全部菜系显示到组合框中...6、实现“查询”按钮功能,根据用户选择的菜系显示菜品信息,并在数据列表视图中显示,如图-2所示: 图-2 7、如果没有满足条件的信息,提示用户,并清空列表视图中的数据,如图-3所示: 图-3 8、选中某条记录

7410
  • 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

    “老坛泡新菜”: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.8K60

    dotnetconf 2024 Agenda Day 4

    productivity. .NET client apps can benefit from AI-powered Smart UI Components, like AI Prompts, Smart Grid/ComboBox....NET 客户端应用程序可以从 AI 驱动的智能 UI 组件中受益,例如 AI 提示、使用本地嵌入的智能网格/ComboBox 搜索以及使用语义搜索搜索/操作 PDF。...为了提高开发人员的工作效率,可以使用自定义聊天代理扩展 GitHub Copilot,以保留开发人员上下文并获得由文档 RAG 提供支持的深度上下文代码完成。...在本次会议中,我们将探讨定期审核 NuGet 依赖项以识别和解决潜在安全漏洞的重要性。您将学习如何使用各种工具和技术来扫描依赖项、了解常见漏洞并采取主动措施来保护您的 .NET 项目。...突出: 将 WinForms 组件与 Semantic Kernel 相结合 只需 2 分钟即可说德语的 AI-WinForms 应用程序!认真地!我会骗你吗?

    4400

    【愚公系列】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控件。

    88541

    技术速递|调用异步功能 - WinForms 在 .NET 9 中的未来发展

    从更新控件到显示窗体和对话框,这些新增功能以全新的方式将异步编程的强大功能引入到 WinForms 中。在本文中,我们将深入探讨四个关键 API,解释它们的工作原理、适用场景以及如何开始使用它们。...这种区别在异步场景中尤为重要,因为它允许应用程序同时处理其他任务而不产生延迟,从而最大限度地减少 UI 线程的瓶颈。...cancellationToken = default): 这个重载用于不返回结果的异步操作。...实验性 API 除了 InvokeAsync,WinForms 在 .NET 9 中还引入了用于显示窗体和对话框的实验性异步选项。...以下示例使用一个名为 SevenSegmentTimer 的7段显示控件,以典型的7段式显示方式显示一个计时器,精度为十分之一秒。

    9210

    数据库之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控件中显示了当前选择项的信息

    2.1K12

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

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

    53922

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

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

    2K31

    WPF面试题-来自ChatGPT的解答

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

    45330
    领券