private void grouperStatistics_CustomPaint(PaintEventArgs e)
{
var width = (grouperStatistics.Size.Width - 48) / 2;
txtMessagesTotal.AutoSize = false;
txtMessagesTotal.Size = new Size(width, cboMessagesPerSecond.Size.Height + 2);
txtMessagesPerSecond.AutoSize = false;
txtMessagesPerSecond.Size = new Size(width - cboMessagesPerSecond.Size.Width, cboMessagesPerSecond.Size.Height + 2);
txtAverageDuration.AutoSize = false;
txtAverageDuration.Size = new Size(width - cboAverageDuration.Size.Width, cboAverageDuration.Size.Height + 2);
txtMessageSizePerSecond.AutoSize = false;
txtMessageSizePerSecond.Size = new Size(width - cboMessageSizePerSecond.Size.Width, cboMessageSizePerSecond.Size.Height + 2);
txtMessagesPerSecond.Location = new Point(width + 32, txtMessagesPerSecond.Location.Y);
lblMessagesPerSecond.Location = new Point(width + 32, lblMessagesTotal.Location.Y);
cboMessagesPerSecond.Location = new Point(2 * width + 32 - cboMessagesPerSecond.Size.Width + 1, cboMessagesPerSecond.Location.Y);
cboAverageDuration.Location = new Point(width + 16 - cboAverageDuration.Size.Width + 1, cboAverageDuration.Location.Y);
txtMessageSizePerSecond.Location = new Point(width + 32, txtMessageSizePerSecond.Location.Y);
lblMessageSizePerSecond.Location = new Point(width + 32, lblMessageSizePerSecond.Location.Y);
cboMessageSizePerSecond.Location = new Point(2 * width + 32 - cboMessageSizePerSecond.Size.Width + 1, cboMessageSizePerSecond.Location.Y);
e.Graphics.DrawRectangle(new Pen(SystemColors.ActiveBorder, 1),
cboMessagesPerSecond.Location.X - 1,
cboMessagesPerSecond.Location.Y - 1,
cboMessagesPerSecond.Size.Width + 1,
cboMessagesPerSecond.Size.Height + 1);
e.Graphics.DrawRectangle(new Pen(SystemColors.ActiveBorder, 1),
cboAverageDuration.Location.X - 1,
cboAverageDuration.Location.Y - 1,
cboAverageDuration.Size.Width + 1,
cboAverageDuration.Size.Height + 1);
e.Graphics.DrawRectangle(new Pen(SystemColors.ActiveBorder, 1),
cboMessageSizePerSecond.Location.X - 1,
cboMessageSizePerSecond.Location.Y - 1,
cboMessageSizePerSecond.Size.Width + 1,
cboMessageSizePerSecond.Size.Height + 1);
}