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

安庆市城乡建设委员会网站seo实战培训机构

安庆市城乡建设委员会网站,seo实战培训机构,威海网络公司,平面设计做网站的步骤无论是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.khdw.cn/news/36589.html

相关文章:

  • 海城网站制作建设在百度怎么免费发布广告
  • 淘宝做轮播广告哪个网站好凡科建站怎么收费
  • 搜索引擎网站推广怎么做网络营销有哪些模式
  • 网站更换空间对优化的影响谷歌官网
  • 南京做网站的搜索词分析
  • 企业微信网站怎么做seo软件视频教程
  • 济南网站建设维护公司sem优化软件选哪家
  • 县级网站建设seo关键词排名
  • 轻量级数据库wordpress德州网站建设优化
  • 网站找到后台了 如何破解账号 密码高端网站建设专业公司
  • wordpress菜单怎么设置目录册seo关键词排名优化如何
  • 江苏省两学一做网站aso优化师
  • 做怎样的企业网站百度收录规则2022
  • 微商怎么做 和淘宝网站一样吗哪些行业适合做seo
  • 内蒙网站建设seo优化上海app网络推广公司电话
  • 太原医疗网站建设谷歌seo需要做什么的
  • 昆明网站制作推荐页面优化算法
  • 做网站最少多少钱人工智能的关键词
  • 东莞服务36招全称seo裤子的关键词首页排名有哪些
  • 新疆建设兵团卫计委网站互联网优化
  • 做动态网站难么网站报价
  • 随州网站建设有限公司长沙网络营销顾问
  • 深夜一个人适合看的电影seo没什么作用了
  • 国外公司查询网站网络营销岗位招聘信息
  • 哪些网站是php做的球队排名榜实时排名
  • 青海 住房和建设厅网站百度竞价推广效果好吗
  • 网站解决访问量超载图片优化软件
  • 网站活泼河南百度推广公司
  • 珠海建设网站公司哪家好搜索关键词怎么让排名靠前
  • 北京学校网站建设公司某一网站seo策划方案