void cbJira_DrawItem(object sender, DrawItemEventArgs e) { // Draw the default background e.DrawBackground(); CBIssueItem item = (CBIssueItem)cbJira.Items[e.Index]; // Create rectangles for the columns to display Rectangle r1 = e.Bounds; Rectangle r2 = e.Bounds; r1.Width = keyWidth; r2.X = r1.Width + 5; r2.Width = 500 - keyWidth; Font font = new Font(e.Font.FontFamily, e.Font.Size * 0.8f, e.Font.Style); // Draw the text on the first column using (SolidBrush sb = new SolidBrush(e.ForeColor)) e.Graphics.DrawString(item.Key, font, sb, r1); // Draw a line to isolate the columns using (Pen p = new Pen(Color.Black)) e.Graphics.DrawLine(p, r1.Right, 0, r1.Right, r1.Bottom); // Draw the text on the second column using (SolidBrush sb = new SolidBrush(e.ForeColor)) e.Graphics.DrawString(item.Summary, font, sb, r2); // Draw a line to isolate the columns using (Pen p = new Pen(Color.Black)) e.Graphics.DrawLine(p, r1.Right, 0, r1.Right, 140); }
void cbJira_MeasureItem(object sender, MeasureItemEventArgs e) { if (e.Index == 0) { keyWidth = 0; } CBIssueItem item = (CBIssueItem)cbJira.Items[e.Index]; Font font = new Font(cbJira.Font.FontFamily, cbJira.Font.Size * 0.8f, cbJira.Font.Style); Size size = TextRenderer.MeasureText(e.Graphics, item.Key, font); e.ItemHeight = size.Height; if (keyWidth < size.Width) { keyWidth = size.Width; } }