void FileStatusListBox_DrawItem(object sender, DrawItemEventArgs e)
{
if (e.Bounds.Height > 0 && e.Bounds.Width > 0 && e.Index >= 0)
{
e.DrawBackground();
e.DrawFocusRectangle();
GitItemStatus gitItemStatus = (GitItemStatus)FileStatusListBox.Items[e.Index];
if (gitItemStatus.IsDeleted)
e.Graphics.DrawImage(Resources.Removed, e.Bounds.Left, e.Bounds.Top, e.Bounds.Height, e.Bounds.Height);
else
if (gitItemStatus.IsNew || !gitItemStatus.IsTracked)
e.Graphics.DrawImage(Resources.Added, e.Bounds.Left, e.Bounds.Top, e.Bounds.Height, e.Bounds.Height);
else
if (gitItemStatus.IsChanged)
e.Graphics.DrawImage(Resources.Modified, e.Bounds.Left, e.Bounds.Top, e.Bounds.Height, e.Bounds.Height);
e.Graphics.DrawString(gitItemStatus.Name, FileStatusListBox.Font, new SolidBrush(e.ForeColor), e.Bounds.Left + e.Bounds.Height, e.Bounds.Top);
}
}