ListView, насколько я знаю, отображает иконки. То есть 32*32, 48*48. Шото вроде того. Лучше всего всё-таки переопределить отрисовку в ListBox. Вот пример кода для отображения картинок:
Код | private void listBox1_DrawItem(object sender, DrawItemEventArgs e) { int pos = e.Index; e.DrawBackground(); e.Graphics.DrawImage((Image)listBox1.Items[pos], new Point(5, e.Bounds.Top + 5)); e.Graphics.DrawString(string.Format("Item #{0}", pos), new Font("Comic Sans MS", 32.0f, FontStyle.Bold | FontStyle.Italic), Brushes.DarkOliveGreen, new Point(125, e.Bounds.Top + 5)); e.DrawFocusRectangle(); }
private void Form1_Load(object sender, EventArgs e) { listBox1.Items.AddRange(new object[] { imageList1.Images[0], imageList1.Images[1], imageList1.Images[2], imageList1.Images[3] }); }
|
Использовать для ListBox DrawMode - OwnerDrawFixed. Высоту элемента ItemHeight - 100. Картинки в ImageList размерами 100 * 100.
P.S.: кто подскажет как избавиться от мерцания при изменении размеров формы, а, следовательно, при изменении размеров ListBox? |