当前位置: 首页 > 编程笔记 >

C#(WinForm) ComboBox和ListBox添加项及设置默认选择项

章玮
2023-03-14
本文向大家介绍C#(WinForm) ComboBox和ListBox添加项及设置默认选择项,包括了C#(WinForm) ComboBox和ListBox添加项及设置默认选择项的使用技巧和注意事项,需要的朋友参考一下

Web控件DropDownList和WinForm控件ComboBox机制不一样。
ComboBox没有对应的ListItem需要自己写一个:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WinListItem
{
  /// <summary>
  /// 选择项类,用于ComboBox或者ListBox添加项
  /// </summary>
  public class ListItem
  {
    private string id = string.Empty;
    private string name = string.Empty;
    public ListItem(string sid, string sname)
    {
      id = sid;
      name = sname;
    }
    public override string ToString()
    {
      return this.name;
    }
    public string ID
    {
      get
      {
        return this.id;
      }
      set
      {
        this.id = value;
      }
    }
    public string Name
    {
      get
      {
        return this.name;
      }
      set
      {
        this.name = value;
      }
    }
  }
}

然后可以类似DropDownList添加项:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WinListItem
{
  public partial class MainFrm : Form
  {
    public MainFrm()
    {
      InitializeComponent();
    }

    private void btnOk_Click(object sender, EventArgs e)
    {
      ListItem listItem = comboBox1.SelectedItem as ListItem;
      MessageBox.Show(listItem.ID + "," + listItem.Name);
    }

    private void MainFrm_Load(object sender, EventArgs e)
    {
      //添加项,Web控件DropDownList有对应的ListItem
      ListItem listItem0 = new ListItem("0", "选项零");
      ListItem listItem1 = new ListItem("1", "选项一");
      ListItem listItem2 = new ListItem("2", "选项二");
      comboBox1.Items.Add(listItem0);
      comboBox1.Items.Add(listItem1);
      comboBox1.Items.Add(listItem2);
      //设置默认选择项,DropDownList会默认选择第一项。
      comboBox1.SelectedIndex = 0;//设置第一项为默认选择项。
      comboBox1.SelectedItem = listItem1;//设置指定的项为默认选择项
    }
  }
}

运行如图:

参考:c#(winform)中ComboBox和ListBox添加项完全解决

刚开始用.net 的winform开发,发现好些控件都很难用,可能是不熟悉的原因吧,这不,一个给ComboBox添加项的问题就搞的我很头疼,我要同时给一个项添加名字和值,怎么都没法加,查了查资料,又自己汇总测试了下,终于全部搞定了,现把完整的方案写下。

用comboBox的数据绑定的方法很简单,建一个数据源,绑定到ComboBox上,然后指定DisplayMember和 ValueMember就可以了。但是感觉好不灵活哦,如果我要在ComboBox上再添加一项,那怎么办?Web里面有ListItem, winform里面怎么没有了?感觉真是不爽,网上找了个方法,自己添加一个ListItem类,然后add到items里面,感觉还不错,有点象web 里面的用法了,可是问题又来了,添加的第一项怎么变成类名了?不是我给它赋的名字,其他项又都没有问题。于是又查到说,“因为combobox的 Item.ADD(一个任意类型的变量),而显示的时候调用的是这个变量的ToString()方法,如果这个类没有重载ToString(),那么显示的结果就是命名空间 + 类名”,于是加上重载的ToString()方法,好了,至此,我终于可以很方便的来给ComboBox和ListBox添加项了。


ListItem item = new ListItem("我是值", "我是名字");

this.lbChoiceRoom.Items.Add(item);

this.lbChoiceRoom.DisplayMember = "Name";

this.lbChoiceRoom.ValueMember = "ID"; 

 类似资料:
  • 我的WPF应用程序中有一个ComboBox,我在其中显示项目列表。大多数情况下,第一个项目是项目资源列表中的正确选择,只有在个人请求时,才能更改项目。现在,“我的”组合框加载列表,但从不显示所选项目的第一个项目。有人能帮我吗。这是我的代码。 XAML: 代码隐藏: 我在 itemsSource 中有值,已选择的 itme 也有一个值,但永远不会显示在屏幕上。 感谢任何帮助。

  • 我在谷歌上搜索了一下,没有找到任何关于这个的信息。 我有这个密码。 有这样的数据 输出是这样的。 如何将数据中的第一个选项设置为默认值,以便得到如下结果。

  • 问题内容: 我有一个很奇怪的要求,其中要求我默认在HTML的下拉菜单中没有选择任何选项。然而, 我不能用这个 因为,为此,我将必须进行验证以处理第一个选项。有人可以在没有将第一个选项作为select标签的一部分的情况下帮助我实现此目标吗? 问题答案: 也许这会有所帮助 将默认显示。但是,如果您选择一个选项,则将无法再次选择它。 您也可以通过添加一个空白来隐藏它 因此它将不再显示在列表中。 选项2

  • 本文向大家介绍winform中的ListBox和ComboBox绑定数据用法实例,包括了winform中的ListBox和ComboBox绑定数据用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了winform中的ListBox和ComboBox绑定数据用法。分享给大家供大家参考。具体实现方法如下: 本例实现将集合数据绑定到ListBox和ComboBox控件,界面上显示某个属性的内

  • 如何设置ng选项的默认值。。。 以下是我的ng选项指令:

  • 问题内容: 我正在研究适用于Python的matplotlib库。我开始理解它的一些基本复杂性,因为pylab和pyplot之间的区别,并且我正在尝试复制和修改图库中的一些示例。 我仍然不清楚的一件事是配置文件matplotlibrc的实际作用。 目前,我使用Windows 7下的WinPython 3.3.5.0 64位分发版。.matplotlibrc文件位于WinPython-64bit-3