Внедрих методите MeasureItem и DrawItem в моето списъчно поле, начертано от собственика на C#.
Нищо не се показва.
От отчаяние добавих три произволни низа към колекцията с артикули и ПЪРВИТЕ ТРИ ОТ МОИТЕ АРТИКУЛИ СЕ ПОКАЗАХА!
Това ми казва, че списъчната кутия не е знаела, че има елементи. Трябва ли да добавя стотици фиктивни артикули към колекцията с артикули, само за да видя МОИТЕ артикули?? Това е дингбати; трябва да има начин да се КАЖЕ на списъка колко елемента има -- просто не мога да го намеря!
Как се задава броят на елементите в списъчно поле, съставено от собственика?
Кодът:
private void listVersions_MeasureItem (object sender, MeasureItemEventArgs e)
{
e.ItemHeight = font.Height + 6;
}
private void listVersions_DrawItem (object sender, DrawItemEventArgs e)
{
if (entries == null)
return;
int i = e.Index;
if (i < 0 || i >= entries.Count)
return;
e.Graphics.FillRectangle (new SolidBrush (BackColor), e.Bounds);
VersionEntry ent = entries[i];
Rectangle rect = e.Bounds;
Graphics g = e.Graphics;
g.DrawString (i.ToString () + " " + ent.name, font, Brushes.Black, rect.Location);
}