当前位置: 首页 > news >正文

安庆市城乡建设委员会网站百度收录提交网站后多久收录

安庆市城乡建设委员会网站,百度收录提交网站后多久收录,政府门户网站建设情况汇报,wordpress主题破解版无论是QT还是VC,这些可视化编程的工具,掌握好控件的用法是第一步,C#的控件也不例外,尤其这些常用的控件。常见控件中较难的往往是这些与数据源打交道的,比如CombBox、ListBox、ListView、TreeView、DataGridView. 文章…

无论是QT还是VC,这些可视化编程的工具,掌握好控件的用法是第一步,C#的控件也不例外,尤其这些常用的控件。常见控件中较难的往往是这些与数据源打交道的,比如CombBox、ListBox、ListView、TreeView、DataGridView.

文章目录

  • 一、添加数据
    • 1、常规添加
      • (1)字符串添加
      • (2)利用数组添加
      • (3)利用类添加
    • 2、指定数据源添加
      • (1)List结合自定义类做数据源
      • (2)利用字典做数据源
      • (3)利用DataTable做数据源
    • 3、添加多个数据源
  • 二、获取数据
    • 1、SelectedIndex
    • 2、SelectedValue
    • 3、SelectedItem
    • 4、显示默认值
  • 三、调整样式
    • 1、对齐方式
    • 2、文字颜色
    • 3、背景颜色
    • 3、尺寸高宽的设置
    • 3、禁止选择(目前无法办到,只能变通实现)
    • 4、显示背景图
  • 四、自定义自己的combbox
    • 1、多选下拉框
    • 2、多列下拉框

文章出处: https://haigear.blog.csdn.net/article/details/128770359
这篇博文我们来详细了解一下Combbox的用法,毕竟只要你做项目,这个控件就比不可少。

一、添加数据

1、常规添加

(1)字符串添加

对于初学者,所了解的,所以为的,所常用的恐怕就是为combbox添加字符串的items,形如下面这种。简单,但粗暴机械而低效,但更容易有成就感,一试就成。

ComboBox comboxcell=new ComboBox();comboxcell.Items.Add("气");comboxcell.Items.Add("血");comboxcell.Items.Add("筋");comboxcell.Items.Add("骨");comboxcell.Items.Add("阴");comboxcell.Items.Add("阳");comboxcell.Items.Add("痰");comboxcell.Items.Add("湿");

(2)利用数组添加

一个个添加,有点效率低下,来一个字符串数组,老老实实传一个数组进去

comboxcell.Items.AddRange(new string[]{"虚", "实","表","里", "寒","热"});

如果是在DataGridView中的DataGridViewComboBoxCell,还可以更简单,因为DataGridViewComboBoxCell的AddRange有两个重载,其中一个采用了params object[]的参数的重载,也就是说可以可变数量的参数。

 DataGridViewComboBoxCell comboxcell = new DataGridViewComboBoxCell();comboxcell.Items.AddRange("虚", "实", "表", "里", "寒", "热");

他们两种combbox的addrange实现不同,这是微软的为题,没有做统一,希望它在下一个版本也给Combbox的addrange增加一个params object[]重载。

(3)利用类添加

上面的添加都一个缺点,那就是只是添加了显示值,当我们需要键值对应的时候就不能满足需求。我们设计一个简单的类,只包含键和值即可:

 public class Creature{public int cid { get; set; }public string cname { get; set; }} 

显示的是文字,背后是值与显示文字对应,选择一个文字对应一个值

ComboBox comboxcell=new ComboBox();
comboxcell1.Items.Add(new Creature { cid = 2, cname = "dog" });
comboxcell1.Items.Add(new Creature { cid = 3, cname = "cat" });
comboxcell1.Items.Add(new Creature { cid = 4, cname = "bird" });
comboxcell1.Items.Add(new Creature { cid = 5, cname = "human" });
comboxcell1.ValueMember = "cid";
comboxcell1.DisplayMember="cname";

这里必须注意,一定要设置ValueMember 和DisplayMember,否则我们点击下拉框得到的就是这般模样:
在这里插入图片描述
特别注意:
像上面这样,comboBox.Add(自定义对象非IList类)给comboBox添加item后,再分别制定其DisplayMember和ValueMember,使用SelectedValue得不到cid,得到null是,如果想得到cid,必须强制转换comboBox. SelectedItem 为自定义类后才可以取得cid。
SelectedValue只对通过combBox.DataSource来指定的combBox的数据源(IList<自定义对象类型>或者DataTable)有效,也就是说这个时候 SelectedValue才有值!

如果我们要用到类,又要用SelectedValue和SelectedText属性得到你想要的属性值,那我们就只有一条路,第一就是让你的类去继承IList接口。
其实你也可以不去实现IList接口,接续看下面的章节,自由答案。
“欲练此功,挥刀自宫,其实也不必自宫”!

2、指定数据源添加

其实数据源可以是任何实现了IList接口的类,如List、Dictionary甚至DataTable;

(1)List结合自定义类做数据源

我们知道,List是实现了IList接口的,所以我们可以用来作为数据源,而且他还可以让我们自定义的类通过List轻松实现IList接口的效果,看看下面的代码:

    List<Creature> list = new List<Creature>();list.Add(new Creature { cid = 22, cname = "dog" });list.Add(new Creature { cid = 24, cname = "bird" });list.Add(new Creature { cid = 105, cname = "human" });comboxcell1.DataSource=new BindingSource { DataSource = list };comboxcell1.ValueMember = "cid";comboxcell1.DisplayMember = "cname";

(2)利用字典做数据源

字典类相比自定义类结合List更简练,只有键值对,没有也不需要多余的信息。

   Dictionary<int,string> list1 = new Dictionary<int,string>();list1.Add(213, "dog");list1.Add(523, "cat");comboxcell1.DataSource=new BindingSource { DataSource = list1 };comboxcell1.ValueMember = "Key";comboxcell1.DisplayMember = "Value";

(3)利用DataTable做数据源

DataTable也可以作为combbox的数据源,但个人感觉还是有些杀鸡用牛刀了。反正只能用上两个列,一列做值一列做键而已。

 DataTable dt = new DataTable();dt.Columns.Add("id", typeof(System.Int32));dt.Columns.Add("name", typeof(System.String));dt.Columns.Add("col3", typeof(System.String));dt.Columns.Add("col4", typeof(System.String));dt.Columns.Add("col5", typeof(System.String));dt.Columns.Add("col6", typeof(System.String));for (int i = 0; i < 10; i++){dt.Rows.Add(dt.NewRow());dt.Rows[i][0] = i + 123;for (int j = 1; j < 6; j++)dt.Rows[i][j] = "item" + j.ToString() + i.ToString();}comboxcell1.DataSource = dt;comboxcell1.ValueMember = "id";comboxcell1.DisplayMember = "name";

很显然,这里我们除了第一列和第二列用到了,其余的都“浪费了”,当然,我们可以通过SelectedItem获取其余的信息,这在一些复杂的应用中还是很有好处的。

3、添加多个数据源

http://soft.zhiding.cn/software_zone/2008/0718/995129.shtml

二、获取数据

1、SelectedIndex

2、SelectedValue

3、SelectedItem

需要注意:
SelectedItem在webform中有两个属性SelectedItem.Value和SelectedItem.Text但在winform中是没有的,如果想获得这两个属性,只能通过强制转换SelectedItem为对应的对象类后通过类属性得到。

4、显示默认值

设定显示默认值(不是系统默认的第一项),而是根据显示的文字或者值;

comboBox1.SelectedIndex = comboBox1.Items.IndexOf("默认值");

三、调整样式

https://blog.csdn.net/weixin_44777515/article/details/88893090
可以在属性栏中设置的属性我这里不赘述,重点讲需要通过代码实现的。

1、对齐方式

2、文字颜色

对特殊的项目更换颜色,起到提示作用,也是我们常常有的需求。比如,itemValue小于某个值的时候显示红色或者灰色。
在这里插入图片描述

3、背景颜色

在这里插入图片描述

3、尺寸高宽的设置

在这里插入图片描述

3、禁止选择(目前无法办到,只能变通实现)

目前想到的方法就是在itemdraw中强制不让他绘制出来,改绘制为其他文字;比如禁止选择

4、显示背景图

四、自定义自己的combbox

自己定义combobox的好处就是能够根据自己的需求来设计,坏处就是要多写几行代码,多实现几个基类的方法和属性。下面我们建立一个自定义控件(用户组件),名称定义为ExComboBox
在这里插入图片描述

1、多选下拉框

2、多列下拉框

还在更新之中,请继续关注!
转载请注明出处,码字不易:https://haigear.blog.csdn.net/article/details/128770359

https://blog.csdn.net/weixin_44777515/article/details/88893090

http://www.15wanjia.com/news/1098.html

相关文章:

  • 事务所网站制作方案网站优化助手
  • 做网站所需要的代码我想做电商
  • 网站开发框架 Wordpress网络推广公司如何做
  • 专业的手机网站建设推广app网站
  • 网站怎么更换域名有效的网络推广
  • 做电影网站都需要什么工具怎样找推广平台
  • java 和php做网站前端seo搜索引擎优化
  • 防制网站怎么做网络营销成功案例分析其成功原因
  • 南昌个人网站制作怎么做电商网站平台
  • 网站设计专业有前途吗网络外贸推广
  • 网站开发公司介绍玉林seo
  • 可以直接进入的正能量网站代运营竞价公司
  • 网站推广策划方案书百度小说搜索热度排行榜
  • 石家庄科技网站哈尔滨网络公司
  • 宁波网站搭建公司国内最好的搜索引擎
  • 企业网站发展趋势seo搜索引擎官网
  • 网站 特效今日舆情热点
  • 厦门海沧网站建设武汉seo百度
  • 网站建设与优化推广方案考试培训
  • 游戏 网站模板一级域名二级域名三级域名的区别
  • wordpress阿里巴巴国际站网络上如何推广网站
  • 网站设计网页版郑州建网站的公司
  • 公共服务标准化指南哈尔滨seo推广优化
  • 厦门博客网站制作今日热点新闻事件2021
  • 做的好详情页网站四川seo整站优化费用
  • 铁路建设工程网站首页排名seo
  • wordpress换网址插件天津seo外包团队
  • wordpress社群模板seo在线网站推广
  • brophp框架做网站模板网络营销外包推广定制公司
  • 网站做301根目录在哪里成都疫情最新情况