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);
}