c#WINFORM ComboBox如何加载系统颜色?如何做成这种效果??如图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#WINFORM ComboBox如何加载系统颜色?如何做成这种效果??如图相关的知识,希望对你有一定的参考价值。
具体代码比较麻烦,有个思路给你,把Color中的所有枚举值都遍历出来,用一个集合接受,在使用foreach遍历,内部代码是为这个下拉框添加项,项有图片和文本,图片的颜色的值就是这些枚举值了,具体样式应该是用重写。 参考技术A 我觉得这个应该要继承了重写的吧~~关于C#winForm comboBox控件的SelectedValue属性
当前comboBox有3个值
A
B
C
如何在Form的Load中 把数据库中读到的值赋给SelectedValue属性(使comboBox默认选中该项)
如:
数据库表'K'中有主键'ID'值为1/2/3,对应字段'Name'值为A/B/C;
外联表'L'中字有段'ID'值为1/2/3;
public void BindComboBox()
/*在winForm的Load事件中给comboBox用Items.Add()方法将表'K'的'Name'字段添入,也就是A,B,C三个值;*/
public void LoadDBValue()
/*在数据库'L'中将读到的一个值用SelectedValue显示在comboBox中*/
/*例如 读到2,则显示默认选中B*/
第二个方法的SelectedValue怎么写?
我写成这样:
//用SqlDataReader类的变量reader接收数据
int cmbValue = int.Parse(reader["id"].ToString());
comboBox.SelectedValue = cmbValue;
cmbValue值为1~3时,为什么 comboBox默认都是空白?(此时comboBox中的Items已经有A,B,C三项)
this.comboBox1.DataSource = dt
this.comboBox1.DisplayMember = "name";
this.comboBox1.ValueMember = "id";
这样comboBox里面就有了显示值和返回值。
2,获取到Value属性后,要让它显示默认的项,就要找到该项在comboBox1中的位置Index
int cmbindex= comboBox1.FindString(value);
comboBox1.SelectedItem = comboBox1.Items[cmbindex]; 参考技术A comboBox.selectindex= cmbValue-1;
你数据库里的ID字段值从1开始,但是comboBox的selectindex索引是从0开始的。追问
规定用SelectedValue属性的
参考技术B 呆子, 你的初始化的item中没有 123 它怎么可能有值加判断
if(cmbValue ==1)
this.combox1.selectedValue="A";
else if ()
else if ()
我没有尝试,你自己试试追问
不行啊 不加 if 直接给selectedValue="A"都不行
参考技术C OleDbCommand objCmd = new OleDbCommand();objCmd.CommandText = "select id,dept_name,dept_tel from table_dept";
DataSet objDataset = DBUtil.GetDataSet(objCmd, "table_dept");
this.comboBox1.DataSource = objDataset;
this.comboBox1.DisplayMember = "table_dept.dept_name";
this.comboBox1.ValueMember = "table_dept.id";追问
有点复杂了吧
本回答被提问者和网友采纳以上是关于c#WINFORM ComboBox如何加载系统颜色?如何做成这种效果??如图的主要内容,如果未能解决你的问题,请参考以下文章
winform 中如何得到combobox控件 Lord加载后 用户选择后 返回其选中的索引值
Winform中,在comboBox的旁边放一个新增Button,新增一条数据,如何重新加载comboBox