/// <summary>
 /// Shrinks the left column (property names) on the <see cref="PropertyGrid"/>.
 /// </summary>
 /// <param name="propertyGrid">The <see cref="PropertyGrid"/>.</param>
 /// <param name="padding">The number of extra pixels to pad. Can be negative to shrink the column more.</param>
 public static void ShrinkPropertiesColumn(this PropertyGrid propertyGrid, int padding = 0)
 {
     using (var g = propertyGrid.CreateGraphics())
     {
         var tabs = propertyGrid.PropertyTabs.Cast <PropertyTab>();
         var font = propertyGrid.Font;
         var w    = tabs.Max(x => g.MeasureString(x.TabName, font).Width + (x.Bitmap != null ? x.Bitmap.Width : 0));
         MoveSplitter(propertyGrid, (int)w + padding);
     }
 }