protected override void OnDrawItem(DrawItemEventArgs e) { e.DrawBackground(); e.DrawFocusRectangle(); if (e.Index >= 0 && e.Index < Items.Count) { PictureComboBoxItem item = (PictureComboBoxItem)Items[e.Index]; e.Graphics.DrawImage(item.Image, e.Bounds.Left, e.Bounds.Top); e.Graphics.DrawString(item.Text, e.Font, new SolidBrush(e.ForeColor), e.Bounds.Left + item.Image.Width, e.Bounds.Top + 2); } base.OnDrawItem(e); }
private void LoadPictureTile() { string[] resourceNames = typeof(Nutcracker).Assembly.GetManifestResourceNames(); foreach (var res in resourceNames) { string title = res.Replace(IMAGE_RESX_SOURCE + ".", string.Empty); ; PictureComboBoxItem item = new PictureComboBoxItem(title, res, comboBoxPictureTileFileName.ItemHeight, comboBoxPictureTileFileName.ItemHeight, typeof(Nutcracker)); comboBoxPictureTileFileName.Items.Add(item); //if (!Data.PictureFile_Custom && item.ResourceName == Data.PictureTile_FileName) if (item.ResourceName == Data.PictureTile_FileName) { comboBoxPictureTileFileName.SelectedIndex = comboBoxPictureTileFileName.Items.Count - 1; } } if (comboBoxPictureTileFileName.Items.Count > 0 && comboBoxPictureTileFileName.SelectedIndex < 0) comboBoxPictureTileFileName.SelectedIndex = 0; trackPictureTileMovementDirection.Value = Data.PictureTile_Direction; numericPictureTileScale.Value = Convert.ToDecimal(Data.PictureTile_Scaling); checkPictureTileReplaceColor.Checked = Data.PictureTile_ReplaceColor; checkPictureTileCopySaturation.Checked = Data.PictureTile_UseSaturation; }