1.ComboBox下拉列表显示图片
private void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
{
Graphics g = e.Graphics;
Rectangle r = e.Bounds;
Size imageSize = imageList1.ImageSize;
if (e.Index >= 0)
{
Font fn = new Font("Tahoma", 10, FontStyle.Bold);
string s = (string)comboBox1.Items[e.Index];
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Near;
if (e.State == (DrawItemState.NoAccelerator | DrawItemState.NoFocusRect))
{
//画条目背景
e.Graphics.FillRectangle(new SolidBrush(Color.Red), r);
//绘制图像
imageList1.Draw(e.Graphics, r.Left, r.Top, e.Index);
//显示字符串
e.Graphics.DrawString(s, fn, new SolidBrush(Color.Black), r.Left + imageSize.Width, r.Top);
//显示取得焦点时的虚线框
e.DrawFocusRectangle();
}
else
{
e.Graphics.FillRectangle(new SolidBrush(Color.LightBlue), r);
imageList1.Draw(e.Graphics, r.Left, r.Top, e.Index);
e.Graphics.DrawString(s, fn, new SolidBrush(Color.Black), r.Left + imageSize.Width, r.Top);
e.DrawFocusRectangle();
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.DrawMode = DrawMode.OwnerDrawFixed;
comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
comboBox1.Items.Add("小车");
comboBox1.Items.Add("视频");
comboBox1.Items.Add("信号灯");
}
2.带查询功能的ComboBox控件
private void button1_Click(object sender, EventArgs e)
{
this.comboBox1.Items.Clear();
this.comboBox1.Items.Add("哈尔滨");
this.comboBox1.Items.Add("大庆");
this.comboBox1.Items.Add("长沙");
this.comboBox1.Items.Add("武汉");
this.comboBox1.Items.Add("上海");
this.comboBox1.Items.Add("北京");
this.comboBox1.Items.Add("大连");
this.comboBox1.Items.Add("汉口");
this.comboBox1.Items.Add("成都");
this.comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
this.comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems; ;
}
3.ComboBox控件里自动填充文件目录
private void button1_Click(object sender, EventArgs e)
{
this.comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
this.comboBox1.AutoCompleteSource = AutoCompleteSource.FileSystem;
}