Кто-нибудь знает способ вставки изображения в фоновом режиме в ListBox в WinForms C#?Настройка фона WinForm ListBox
3
A
ответ
6
Ну, вам нужно наследовать новый элемент управления из ListBox. Для того, чтобы к этому, создать новый проект в своем решении, типа «Windows Library Control», и использовать этот код в файле исходного кода элемента управления файлом:
public partial class ListBoxWithBg : ListBox
{
Image image;
Brush brush, selectedBrush;
public ListBoxWithBg()
{
InitializeComponent();
this.DrawMode = DrawMode.OwnerDrawVariable;
this.DrawItem += new DrawItemEventHandler(ListBoxWithBg_DrawItem);
this.image = Image.FromFile("C:\\some-image.bmp");
this.brush = new SolidBrush(Color.Black);
this.selectedBrush = new SolidBrush(Color.White);
}
void ListBoxWithBg_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
e.DrawFocusRectangle();
/* HACK WARNING: draw the last item with the entire image at (0,0)
* to fill the whole ListBox. Really, there's many better ways to do this,
* just none quite so brief */
if (e.Index == this.Items.Count - 1)
{
e.Graphics.DrawImage(this.image, new Point(0, 0));
}
else
{
e.Graphics.DrawImage(this.image, e.Bounds, e.Bounds, GraphicsUnit.Pixel);
}
Brush drawBrush =
((e.State & DrawItemState.Selected) == DrawItemState.Selected)
? this.selectedBrush : this.brush;
e.Graphics.DrawString(this.Items[e.Index].ToString(), this.Font, drawBrush, e.Bounds);
}
}
я пропустил весь код дизайнера и такой для краткость, но вам нужно будет запомнить Dispose
изображения и кистей в методе управления Dispose
.
Смежные вопросы
- 1. Настройка цвета фона в Silverlight Listbox
- 2. Как изменить цвет фона в Autocomplete Listbox в Winform Combobox
- 3. listbox selected item winform
- 4. Winform customize listbox item
- 5. Приложение WinForm с тематическими меню - настройка фона для активного меню
- 6. listbox selected items in winform
- 7. WinForm - установка выбранного значения ListBox
- 8. Настройка цвета фона или WPF (4.0) ListBox - Windows 8
- 9. Tcl/Tk listbox настройка фона для всех элементов
- 10. winform listbox drawitem change substring color
- 11. Создание фона WinForm ContextMenu Серый?
- 12. Настройка фона фона вызывает OutOfMemoryError
- 13. Настройка фона фона фона с использованием ресурса
- 14. ListBox выделенный элемент цвет фона
- 15. Listbox WPF элемент цвет фона
- 16. Цвет фона элемента ListBox (winforms)
- 17. listbox datasource update ms access winform
- 18. Получение ввода с клавиатуры в winform listbox
- 19. Получение выбранных элементов из WinForm ListBox?
- 20. Пользовательский WinForm ListBox с содержимым пользователя
- 21. Как заставить ListBox перезагружать данные в WinForm
- 22. Winform Listbox Выбрать товары из базы данных
- 23. C# winform listbox добавляет system.collection в список
- 24. Winform Client ListBox Как приостановить метод OnPaint
- 25. Несколько строк - запись в Winform Listbox
- 26. Настройка фона программно на Android 3. (настройка фона)
- 27. настройка фона в сюжете()
- 28. Настройка фона управления контентом
- 29. Настройка фона JComboBox?
- 30. Настройка фона для фрагмента?
Спасибо Scraimer, все в порядке, я изменил некоторые строки, но в конце это работа. Хорошо провести время – JayJay