C#开发学习笔记:ImageComboBoxEdit使用方法

1.下拉选项绑定图片

1.1.在ImageComboBoxEdit控件的Properties属性中的Items属性中添加下拉选项

注:Value值必须有值,否则下拉时会永远选中最后一项

 

1.2.为ImageComboBoxEdit控件添加图片集合,并将图片集合的索引与Item项的ImageIndex属性关联

Dictionary<string, int> dic = new Dictionary<string, int>();
DevExpress.Utils.ImageCollection ic = new DevExpress.Utils.ImageCollection();
string sss = @"G:\Image\";//图片存放的路径
string sss_temp = "";
for (int i = 1; i <= 10; i++)
{
	dic.Add(i.ToString(), i-1);
	sss_temp = sss + i.ToString() + ".png";
	Image image = new Bitmap(sss_temp);                
	ic.AddImage(image);
}

imageComboBoxEdit1.Properties.SmallImages = ic;//为imageComboBoxEdit1绑定Item图片集合
foreach (DevExpress.XtraEditors.Controls.ImageComboBoxItem item in imageComboBoxEdit1.Properties.Items)
{
	item.ImageIndex = dic[item.Description];
}           

imageComboBoxEdit1.SelectedIndex = 0;//设置imageComboBoxEdit1默认选中项

 

效果:

 

2.获取下拉选中项对应的图片并保存为字节

private void imageComboBoxEdit1_Properties_SelectedValueChanged(object sender, EventArgs e)
{
	object imageValue=(imageComboBoxEdit1.SelectedItem as DevExpress.XtraEditors.Controls.ImageComboBoxItem).Value;

	//获取选中的图片
	DevExpress.Utils.ImageCollection images1 = imageComboBoxEdit1.Properties.SmallImages as DevExpress.Utils.ImageCollection;
	Image im = images1.Images[Convert.ToInt32(imageValue)];

	//将图片转成流
	System.IO.MemoryStream ms = new System.IO.MemoryStream();
	im.Save(ms, System.Drawing.Imaging.ImageFormat.Png);

	//将流转成字节
	byte[] bytes = new byte[ms.Length];
	ms.Read(bytes, 0, bytes.Length);
}

 


版权声明:本文为JustWantToFly原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。