C#控件之ComboBox控件使用
首先如果要给ComboBox控件输入要显示的内容,方法是点击控件会显示如下图所示:

然后点击”编辑项”,如下所示:

下面在这里输入控件要显示的内容,即可。
如果要让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的赋值。
下面再打开ComboBox控件的属性下图位置,设置控件的下拉框是否可编辑等状态,如下图所示:

根据上图可以看到ComboBox的常用下拉格式DropDownStyle 有三种,分别是:
Simple是文本可编辑,下拉列表总可见;
DropDown是默认样式,文本可编辑,下拉需用户点击箭头;
DropDownList是文本不可编辑,下拉需用户点击箭头;
需要注意的是DropDownList形式直接使用comboBox1.Text = "值";形式来赋值结果会显示为空,而不会报任何错误或异常提示。
如果动态添加或者显示ComboBox下拉框的内容,首先需要在ComboBox属性的“字符串集合编辑器”中清空之前的内容,即如下所示:

或者使用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来实现项的添加,不过要注意,如果不清空,会出现重复添加的现象。
如果要获取控件选中项的内容,代码如下所示:
MessageBox.Show(comboBox1.SelectedItem.ToString());
如果要获取控件选中项的索引,代码如下所示:
MessageBox.Show(comboBox1.SelectedIndex.ToString());
如果要与数据库相连接并进行数据源的绑定,代码如下所示:
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控件使用的更多相关文章
- WPF进阶技巧和实战03-控件(3-文本控件及列表控件)
系列文章链接 WPF进阶技巧和实战01-小技巧 WPF进阶技巧和实战02-布局 WPF进阶技巧和实战03-控件(1-控件及内容控件) WPF进阶技巧和实战03-控件(2-特殊容器) WPF进阶技巧和实 ...
- ExtJS基础知识总结:自定义日历和ComboBox控件(二)
概述 1.ExtJS 5不支持日期选择框中只选择年月,为了满足ExtJs5可以实现选择年月的功能,查询网上资料,整理出来了相应的处理方式,最终实现的效果如下图: 2.ExtJS 控件丰富,如果需要实现 ...
- 加载ComboBox控件
/// <summary> /// 加载公司 /// </summary> /// <param name="cbbCompany">Combo ...
- C#中combobox 控件属性、事件、方法
一 .combobox 属性.事件.方法公共属性 名称 说明 AccessibilityObject 获取分配给该控件的 AccessibleObject. AccessibleDefaultActi ...
- .Net平台Winform两个ComboBox控件绑定同一个数据源
今天WINFROM编程遇到这么一个问题:是有关WINFORM中两个comboBox控件绑定同一个数据源的问题,在窗体的界面上有两个comboBox,我在Form1_Load中对他们做了数据绑定(具体代 ...
- WinForm编程时窗体设计器中ComboBox控件大小的设置
问题描述: 在VS中的窗体设计器中拖放一个ComboBox控件后想调整控件的大小.发现在控件上用鼠标只能拖动宽度(Width)无法拖动(Height). 解决过程: 1.控件无法拖动,就在属性窗口中设 ...
- Winform ComboBox控件高亮显示
//重绘下拉表单窗口,需要在窗口设计代码中加入下面这一句 this.cmdChannelName.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawF ...
- winform combobox控件绑定 分类: WinForm 2014-04-17 14:34 118人阅读 评论(0) 收藏
想要达到的效果:把数据库中的一列数据绑定到combobox控件中. 数据库表:T_Task//任务表 列名:Task_Name//名称 主键:Task_ID combobox控件名称:cbName 解 ...
- ComboBox控件绑定数据源
最近在研究机房收费系统的组合查询的方法时,看到了ComboBox控件可以进行数据绑定,我觉得这个功能真的很不错,可以给我省去很多的麻烦. 下面是我组合查询窗体界面 一.数据转换方法 现在我们开看一下我 ...
随机推荐
- 举例说明$POST 、$HTTP_RAW_POST_DATA、php://input三者之间的区别
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 利用window.name+iframe跨域获取接口数据
最近做了一个表单广告,需要从接口读取数据,做完发现谷歌火狐下正常,360兼容和IE浏览器无法获取数据,以下是鲜明的对比: 调试发现报错了: 然后开发把接口改成支持windowname,一开始 ...
- awk 中的难懂符号解释
awk中NF和NR的意义,其实你已经知道NF和NR的意义了,NF代表的是一个文本文件中一行(一条记录)中的字段个数,NR代表的是这个文本文件的行数(记录数). 看个例子: cal 9 2003 Sep ...
- 初学python之感悟
python的强大有目共睹,现将初学python,觉得其中比较重要的知识罗列如下: 类似于数组的东西:列表.元组.集合.字符串以及字典,这几个东西充分体现了python的强大和逆天. 列表: x=[1 ...
- HTML5离线存储的工作原理和使用
在用户没有与因特网连接时,可以正常访问站点或应用,在用户与因特网连接时,更新用户机器上的缓存文件. 原理:HTML5的离线存储是基于一个新建的.appcache文件的缓存机制(不是存储技术),通过这个 ...
- python编程学习--Pygame - Python游戏编程入门(0)---转载
原文地址:https://www.cnblogs.com/wuzhanpeng/p/4261015.html 引言 博客刚开,想把最近学习的东西记录下来,算是一种笔记.最近打算开始学习Python,因 ...
- Tomcat并发优化和缓存优化
Tomcat并发优化 1.调整连接器connector的并发处理能力 在Tomcat 配置文件 server.xml 中的 <Connector ... /> 配置中 1.参数说明 max ...
- 阿里推荐的线程使用方法 ThreadPoolExecutor
阿里推荐原因:使用线程池可以减少创建和销毁线程上所花的时间以及系统资源的开销,然后之所以不用Executors自定义线程池,用ThreadPoolExecutor是为了规范线程池的使用,还有让其他人更 ...
- WPF拖动总结
https://www.cnblogs.com/DebugLZQ/archive/2013/05/07/3062733.html <Window xmlns="http://schem ...
- 实现我的第一个Java程序
第一步.打开记事本 第二步.代码编写 public class Hello{ public static void main( String[] args){ System.out.println(& ...