TabControlPainter.cs: Move up the Text / Image of the selected tab, matching .NET.
authorThomas Goldstein <stifu@free.fr>
Fri, 11 Feb 2011 23:12:54 +0000 (00:12 +0100)
committerThomas Goldstein <stifu@free.fr>
Fri, 11 Feb 2011 23:20:26 +0000 (00:20 +0100)
mcs/class/Managed.Windows.Forms/System.Windows.Forms.Theming/Default/TabControlPainter.cs

index f3d4e9f181e792a7b2a5d9f8bedccbce0377f6ab..0d32cb96b826cfbc24ca2f6814dc7dd9109fe245 100644 (file)
@@ -446,6 +446,16 @@ namespace System.Windows.Forms.Theming.Default
                                } else {\r
                                        Rectangle str_rect = interior;\r
 \r
+                                       if (is_selected) {\r
+                                               // Reduce the interior size to match the inner size of non-selected tabs\r
+                                               str_rect.X += selectedTabDelta.X;\r
+                                               str_rect.Y += selectedTabDelta.Y;\r
+                                               str_rect.Width -= selectedTabDelta.Width;\r
+                                               str_rect.Height -= selectedTabDelta.Height;\r
+\r
+                                               str_rect.Y -= selectedTabDelta.Y; // Move up the text / image of the selected tab\r
+                                       }\r
+\r
                                        if (tab.ImageList != null && page.ImageIndex >= 0 && page.ImageIndex < tab.ImageList.Images.Count) {\r
                                                int image_x;\r
                                                if (tab.SizeMode != TabSizeMode.Fixed) {\r