Возникает неприятная ошибка с отображением элементов ListBox
В моем ListBox находится 60 элеметов, так как их много то ListBox имеет скролл. Но при скроле вниз данныек эелементы не виды: вместо них пустые строки (смотри картинку)
Вот мой код:
markersListBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;
markersListBox.DrawItem += markersListBox_DrawItem;
private void markersListBox_DrawItem(object sender, DrawItemEventArgs e)
{
// https://msdn.microsoft.com/ru-ru/library/system.windows.forms.listbox.drawmode(v=vs.110).aspx
e.DrawBackground();
var myBrush = Brushes.Black;
var mk = markersListBox.Items[e.Index] as MarkerForListView;
// Если у данного маркера заданы все значения, то окрашиваем его представление
myBrush = mk.BrosokModel.CheckValuesAreSet() ? Brushes.Black : Brushes.Yellow;
var predictableSize = e.Graphics.MeasureString(mk.ToString(), e.Font);
var predictableHeight = (int)predictableSize.Height;
var bounds = new Rectangle(e.Bounds.X, predictableHeight * e.Index, e.Bounds.Width, predictableHeight);
e.Graphics.DrawString(markersListBox.Items[e.Index].ToString(), e.Font, myBrush, bounds,
StringFormat.GenericDefault);
e.DrawFocusRectangle();
}