C#控件之ComboBox控件使用

时间:2022-09-08 23:35:06
  1. 首先如果要给ComboBox控件输入要显示的内容,方法是点击控件会显示如下图所示:

    C#控件之ComboBox控件使用
  2. 然后点击”编辑项”,如下所示:

    C#控件之ComboBox控件使用
  3. 下面在这里输入控件要显示的内容,即可。

    如果要让ComboBox控件设置默认显示项,代码如下所示:

    //让ComboBox控件显示“明细计划”

    comboBox1.Text = "明细计划";

    comboBox1.SelectedIndex = 0;

    或者

    string[] array = { "Red", "Green", "White", "Blue", "Yellow" };

    comboBox1.DataSource = array;

    或者

    for (int i = 0; i < 5; i++)

    {

    comboBox1.Items.Add(i + 1);

    }

    其中,赋值最关键的是SelectedIndex的赋值,而不是Text的赋值。

  4. 下面再打开ComboBox控件的属性下图位置,设置控件的下拉框是否可编辑等状态,如下图所示:

    C#控件之ComboBox控件使用
  5. 根据上图可以看到ComboBox的常用下拉格式DropDownStyle 有三种,分别是:

    Simple是文本可编辑,下拉列表总可见;

    DropDown是默认样式,文本可编辑,下拉需用户点击箭头;

    DropDownList是文本不可编辑,下拉需用户点击箭头;

    需要注意的是DropDownList形式直接使用comboBox1.Text = "值";形式来赋值结果会显示为空,而不会报任何错误或异常提示。

  6. 如果动态添加或者显示ComboBox下拉框的内容,首先需要在ComboBox属性的“字符串集合编辑器”中清空之前的内容,即如下所示:

    C#控件之ComboBox控件使用
  7. 或者使用Clear命令,代码如下所示:

    this.comboBox1.Items.Clear();

    动态添加ComboBox下拉框的内容的代码如下所示:

    if (this.comboBox1.Items.Count > 0)

    {

    this.comboBox1.Items.Clear();

    this.comboBox1.Items.AddRange(new object[] {

    "明细计划",

    "执行反馈"});

    comboBox1.Text = "明细计划";

    comboBox1.SelectedIndex = 0;

    }

    注意上述是通过this.comboBox1.Items.AddRange来实现项的添加,不过要注意,如果不清空,会出现重复添加的现象。

  8. 如果要获取控件选中项的内容,代码如下所示:

    MessageBox.Show(comboBox1.SelectedItem.ToString());

  9. 如果要获取控件选中项的索引,代码如下所示:

    MessageBox.Show(comboBox1.SelectedIndex.ToString());

  10. 如果要与数据库相连接并进行数据源的绑定,代码如下所示:

    private void DoBindDataSource()

    {

    //构造数据源(或从数据库中查询)

    DataTable ADt = new DataTable();

    DataColumn ADC1 = new DataColumn("F_ID", typeof(int));

    DataColumn ADC2 = new DataColumn("F_Name", typeof(string));

    ADt.Columns.Add(ADC1);

    ADt.Columns.Add(ADC2);

    for (int i = 0; i < 3; i++)

    {

    DataRow ADR = ADt.NewRow();

    ADR[0] = i+1;

    ADR[1] = "Name_" + (i+1);

    ADt.Rows.Add(ADR);

    }

    //进行绑定

    comboBox1.DisplayMember = "F_Name";  //控件显示的列名

    comboBox1.ValueMember = "F_ID";  //控件值的列名

    comboBox1.DataSource = ADt;

    }

C#控件之ComboBox控件使用的更多相关文章

  1. WPF进阶技巧和实战03-控件(3-文本控件及列表控件)

    系列文章链接 WPF进阶技巧和实战01-小技巧 WPF进阶技巧和实战02-布局 WPF进阶技巧和实战03-控件(1-控件及内容控件) WPF进阶技巧和实战03-控件(2-特殊容器) WPF进阶技巧和实 ...

  2. ExtJS基础知识总结:自定义日历和ComboBox控件&lpar;二&rpar;

    概述 1.ExtJS 5不支持日期选择框中只选择年月,为了满足ExtJs5可以实现选择年月的功能,查询网上资料,整理出来了相应的处理方式,最终实现的效果如下图: 2.ExtJS 控件丰富,如果需要实现 ...

  3. 加载ComboBox控件

    /// <summary> /// 加载公司 /// </summary> /// <param name="cbbCompany">Combo ...

  4. C&num;中combobox 控件属性、事件、方法

    一 .combobox 属性.事件.方法公共属性 名称 说明 AccessibilityObject 获取分配给该控件的 AccessibleObject. AccessibleDefaultActi ...

  5. &period;Net平台Winform两个ComboBox控件绑定同一个数据源

    今天WINFROM编程遇到这么一个问题:是有关WINFORM中两个comboBox控件绑定同一个数据源的问题,在窗体的界面上有两个comboBox,我在Form1_Load中对他们做了数据绑定(具体代 ...

  6. WinForm编程时窗体设计器中ComboBox控件大小的设置

    问题描述: 在VS中的窗体设计器中拖放一个ComboBox控件后想调整控件的大小.发现在控件上用鼠标只能拖动宽度(Width)无法拖动(Height). 解决过程: 1.控件无法拖动,就在属性窗口中设 ...

  7. Winform ComboBox控件高亮显示

    //重绘下拉表单窗口,需要在窗口设计代码中加入下面这一句 this.cmdChannelName.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawF ...

  8. winform combobox控件绑定 分类: WinForm 2014-04-17 14&colon;34 118人阅读 评论&lpar;0&rpar; 收藏

    想要达到的效果:把数据库中的一列数据绑定到combobox控件中. 数据库表:T_Task//任务表 列名:Task_Name//名称 主键:Task_ID combobox控件名称:cbName 解 ...

  9. ComboBox控件绑定数据源

    最近在研究机房收费系统的组合查询的方法时,看到了ComboBox控件可以进行数据绑定,我觉得这个功能真的很不错,可以给我省去很多的麻烦. 下面是我组合查询窗体界面 一.数据转换方法 现在我们开看一下我 ...

随机推荐

  1. The RAII Programming Idiom

    https://www.hackcraft.net/raii/ https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization

  2. Js~对数组进行分组户数

    在sql里有group by,主要对数据结果集进行分组统计,而对于JS来说,有时我们也需要这种功能,例如一个数据{"dog","cat","dog&q ...

  3. 【jQuery 使用】 利用jQuery&period;prop&lpar;&quot&semi;outerHTML&quot&semi;&rpar;获取包含自身在内的HTML元素的HTML代码

    jQuery.html() 是获取当前节点下的html代码,并不包含当前节点本身的代码,然而我们有时候的确需要,可以通过jQuery.prop("outerHTML")的方式设置. ...

  4. ARCI--做事情的重要方法论

    很多朋友都可能碰到这样的情况,有一个任务曾经开会讨论过,目标,时间,参与人都有提到,但是最终就是不了了之,没有下文了,而且后面想起来,要追究责任的时候,发现似乎都没有责任,无从追究.如果这种情况出现, ...

  5. hdu 1882 Strange Billboard&lpar;位运算&plus;枚举&rpar;

    http://acm.hdu.edu.cn/showproblem.php?pid=1882 感觉非常不错的一道题. 给一个n*m(1<=n,m<=16)的矩阵,每一个格子都有黑白两面,当 ...

  6. 【代码笔记】Web-CSS-CSS样式列表&lpar;url&rpar;

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  7. STL总结

    容器类放入的都是元素的拷贝,而非引用.所以如果需要对元素做出改动,最好是把元素存在data[N]数组中,而仅仅在容器中存放数组下标. 函数传递容器类参数时,需要传引用,否则会超时. vector ve ...

  8. 为什么不同网段的ip 不能直接通信

    首先要明白一点,IOS一共七层, 发送数据的过程是从上到下,也就是从应用层一直到物理层,接受数据是从下至上. 来看你的问题,环境如下,我们来用一个ping命令的过程来解释:一个交换机,连两个电脑A和B ...

  9. Linux用root强制踢掉已登录用户

    首先使用w命令查看所有在线用户: [root@VM_152_184_centos /]# w 20:50:14 up 9 days, 5:58, 3 users, load average: 0.21 ...

  10. WCF系列教程之WCF实例化

    本文参考自http://www.cnblogs.com/wangweimutou/p/4517951.html,纯属读书笔记,加深记忆 一.理解WCF实例化机制 1.WCF实例化,是指对用户定义的服务 ...