This section contains a summary of VisualStyles updates.
Version 2.1 R1
Release date: December 11, 2006
- UPDATED: It's now possible to pass "null" instead of a control to any ThemePaint method when rendering themes.
- FIXED: Text was improperly clipped for one-letter text on tab controls with a fixed item size.
- FIXED: Read-only, multiline textboxes with non-default solid-color background colors render properly.
Version 2.1
Release date: October 2, 2006
- ADDED: The VisualStyleFilter.SetTextEnhancedDefault(bool) method enables text to be drawn using GDI on buttons, labels and groupboxes.
- UPDATED: Improved performance from 2.0 R5.
- CHANGED: Buttons and labels with FlatStyle set to System are now completely ignored by VisualStyles. Always use FlatStyle.Standard.
- FIXED: UserControls no longer flicker inside TabControls (.NET 2.0).
- FIXED: Non-client scrollbars draw correctly on panels with a Fixed3D border.
- FIXED: New design-mode detection algorithm is more reliable, no longer causes exception at load time on certain systems.
Version 2.0 R5
Release date: August 28, 2006
- FIXED: Disabled and read-only TextBoxes with custom background colors are drawn using their correct background color (not black).
- FIXED: Controls paint correctly when their parent is changed dynamically at runtime (better compatibility with docking window components).
- FIXED: Read-only text boxes draw correctly on TabControls where Appearance != Normal.
- FIXED: Transparent controls are repainted correctly when other controls on the same tab page are shown/hidden in the same paint cycle.
Version 2.0 R4
Release date: August 10, 2006
- FIXED: Button and UserControl objects in applications upgraded from .NET 1.x to 2.0 now paint their background correctly on tab pages.
- FIXED: Fixed a "LoaderLock" MDA which was sometimes being thrown under .NET 2.0 upon application exit.
- FIXED: VisualStyles no longer causes Visual Studio 2005 to crash when a VisualStyleFilter is placed on an inherited base Form or instantiated UserControl.
- FIXED: Toolbar background is transparent when placed on a tabpage under .NET 2.0.
- FIXED: Textboxes are repainted correctly when their BackColor is changed at runtime.
- FIXED: Tab buttons which touch the right edge of a Multiline control are drawn correctly.
Version 2.0 R3
Release date: June 30, 2006
- FIXED: A exception was sometimes being thrown when VisualStyles was enhanced on a control whose container was not enhanced.
- FIXED: Splitters are transparent on TabControls (special thanks to the guy who actually did this).
- FIXED: Displaying and hiding tool windows no longer causes child controls to disappear.
Version 2.0 R2
Release date: June 14, 2006
- FIXED: Debug information was being written to the console at runtime.
Version 2.0 R1
Release date: June 12, 2006
- FIXED: Child controls refresh properly when DockStyle is Fill.
- FIXED: ToolTips will appear after SetVisualStyleEnhanced() is called.
- FIXED: ComboBox draws its background properly when disabled.
- FIXED: TabControl no longer throws an exception when no ImageList is assigned and a TabPage's ImageIndex > 0.
- FIXED: Images and text are centered on tab buttons when SizeMode is Fixed or FillRight.
- FIXED: Images and text are centered vertically on tab buttons when the image height and text height differ.
Version 2.0
Release date: June 5, 2006
- UPDATED: Now compatible with .NET 1.0, 1.1 and 2.0.
- UPDATED: New rendering engine improves performance over previous version by as much as 2.5X. (!!)
- UPDATED: Nested tab controls draw a transparent background behind the tab buttons.
- CHANGED: VisualStyleProvider is obsolete. All controls are now enhanced by default.
- CHANGED: VisualStyleLinkLabel is obsolete. Regular LinkLabel controls are now drawn transparently.
- ADDED: VisualStyleContext is used to enable VisualStyles.
- ADDED: The VisualStyleFilter component allows you to enable and disable enhancement for individual controls at runtime.
- ADDED: The ThemeInformation.ThemeChanged event
is fired when the current system theme changes at runtime.
- NOTE: VisualStyles 2.0 is backwards-compatible with 1.x.
KNOWN ISSUES/LIMITATIONS
- In some applications running under .NET 1.0 and 1.1, an SEHException may be thrown at random times at runtime.
This does not affect every application, and is not caused by VisualStyles; it is a bug in the .NET framework that also happens
when theming is enabled without VisualStyles. Since VisualStyles eats these exceptions automatically, you will not
see them unless you are debugging with first-chance exceptions enabled. They may be safely ignored.
- Under .NET 1.0 and 1.1, TreeView controls display a horizontal, unthemed scrollbar when themeing is enabled and
nodes are added when the TreeView is not visible. This is not caused by VisualStyles; it is a bug in the framework that
also happens when theming is enabled without VisualStyles. You can avoid the bug by only adding items to the TreeView control
after it is displayed on the screen.
Version 1.2.4.0
Release date: December 14, 2005
- FIXED: Text would not appear on VisualStyleLinkLabel controls if disabled at runtime.
Version 1.2.3.0
Release date: October 12, 2005
- FIXED: "The specified window handle is already added to the monitor" exception, which was thrown when a NumericUpDown or DomainUpDown was present on a Form and
a recursive algorithm was used to enable visual styles dynamically at runtime.
Version 1.2.2.0
Release date: September 19, 2005
- FIXED: "The specified window handle is already added to the monitor" exception, which was sometimes being thrown at runtime when a VisualStyleProvider was placed on an inherited form.
- FIXED: Null reference exception, which was sometimes being thrown at design time when a VisualStyleProvider was placed on an inherited form.
Version 1.2.1.0
Release date: August 12, 2005
- FIXED: A small GDI resource leak was being caused by the TabControl each time the selected page was switched.
- FIXED: VisualStyleLinkLabel was not drawing images in some situations.
Version 1.2.0.0
Release date: July 8, 2005
Version 1.1.2.0
Release date: May 20, 2005
- FIXED: Removed erroneous debug code, which only affects right-aligned tab controls.
Version 1.1.1.0
Release date: April 15, 2005
- FIXED/CHANGED: CheckBox, RadioButton, and TrackBar controls with a custom BackColor (anything other than SystemColors.Control)
are not drawn transparently on TabControls; instead, a solid background is drawn using the custom color.
- FIXED: Button controls redraw properly when windows are dragged across them.
- FIXED: GroupBoxes may now be nested within other GroupBoxes on a TabControl.
- FIXED: Text draws correctly on TabControls when right-to-left mirroring technology is enabled in middle-eastern locales
(only Top and Bottom alignments are currently supported).
Version 1.1.0.0
Release date: February 18, 2005
- CHANGED: The documentation has been reorganized, and the license agreement has been updated.
Version 1.0.5.5
Release date: November 26, 2004
- ADDED: UpDown controls draw a transparent background on tab pages when they are read-only or disabled.
- FIXED: Displaying a ContextMenu in the MouseDown event of a button doesn't leave the button in a "pushed" state.
- FIXED: Method parameter names were not showing up in the IntelliSense info tips due to obfuscation.
- FIXED/CHANGED: Single-line readonly and disabled TextBox controls on tab pages now have transparent backgrounds;
the MultiLine property is no longer changed to "true" automatically when the control becomes transparent.
- CHANGED: The BackColor of TextBox controls must be Window in order for their background to be rendered transparently on a tab page.
Version 1.0.5.4
Release date: November 20, 2004
- ADDED: Support for owner-draw tabs.
- ADDED: VisualStyleProvider.EnableVisualStylesInScope method, used to enable theming in Office add-ins.
- ADDED: Using the VisualStyleProvider.EnableVisualStyles method prevents some of the dreaded SEHExceptions from being
thrown when modal dialog boxes are displayed.
- ADDED: Reduced the size of the assembly by 52 KB. (!)
- FIXED: Better compatibility with .NET 2.0.
- FIXED: CheckedListBox text-centering bug.
- FIXED: Fixed-width tab button text is now centered for Fixed and FillToRight size modes.
- FIXED: GroupBoxes stay themed when animated.
Version 1.0.5.3
Release date: October 29, 2004
- FIXED: Fixed one property and one method that were improperly hidden by obfuscation.
Version 1.0.5.2
Release date: October 23, 2004
- ADDED: Extended controls work with the AnimateWindow API, used by animated controls (such as an ExplorerBar).
This feature is currently in beta, so please report any problems your have in the forum.
- ADDED: A new overload for ThemePaint.DrawBackground that optionally ignores the background color of the control.
- FIXED: Correct font is drawn for TabControls.
- FIXED: The spin buttons on UpDown controls draw correctly when windows are dragged over top.
- FIXED: When transparent textboxes (read-only or disabled on a TabPage) have BorderStyle set to Fixed3D, the
border is drawn as a single, solid colored line.
Version 1.0.5.1
Release date: October 18, 2004
- FIXED: Text on disabled CheckBoxes, GroupBoxes and RadioButtons is now drawn using SystemColors.GrayText.
Version 1.0.5.0
Release date: October 14, 2004
- ADDED: Support for tab controls aligned to the right, bottom and left.
- ADDED: Disabled TextBox controls are drawn with a transparent background in tab pages.
- FIXED: Fixed an exception thrown by checkboxes and radio buttons with no text.
- FIXED: Fixed a bug that caused TabPages to be drawn incorrectly when dynamically resized at runtime.
- FIXED: Setting TickFrequency on TrackBar wouldn't draw ticks all the way across the bar.
- FIXED: A rare bug that caused buttons to look pushed when the button mnemonic was pressed after the spacebar key.
- FIXED: Backgrounds of PictureBox controls on non-TabPage containers now draw correctly with VisualStyleSupport enabled.
- CHANGED: Controls draw a transparent background on tabs when useing either Control or Transparent as the BackColor.
- CHANGED: Button, check box and radio button text is now word wrapped in the same manner as the framework.
Check existing buttons for word-wrapped text when upgrading to this version.
- CHANGED: Automatically sets WordWrap to false for transparent TextBox controls whose Height equals PreferredHeight.
Version 1.0.3.2
Release date: August 24, 2004
- FIXED: Improved group box drawing speed again, up to 3X faster.
- FIXED: Group boxes and panels will be drawn using their BackColor when not being drawn transparently on a tab page.
- FIXED: Controls render properly when visual styles are disabled system-wide at runtime.
- FIXED: Removing the last item from a themed CheckedListBox would sometimes throw an exception.
Version 1.0.3.1
Release date: August 6, 2004
- FIXED: TextBox controls display unicode password characters characters.
- FIXED: Label text is displayed when AutoSize is true.
- FIXED: Significantly improved drawing performance for nested GroupBox controls.
- FIXED: GroupBox controls without text now render the box using the same bounds as when visual styles are disabled.
- FIXED: RadioButton controls render as buttons when Appearance is Button.
- FIXED: Focus rectangles draw properly for CheckBox controls when Appearance is Button.
Version 1.0.3.0
Release date: July 21, 2004
- ADDED: Support for read-only TextBox controls in tab pages (draws them with a transparent background).
- ADDED: Support for CheckedListBox controls (draws the check boxes using themes).
- FIXED: Button controls draw a focus rectangle when focus cues are on.
- FIXED: Button, CheckBox, and RadioButton controls no longer draw draw as "pushed" when the mouse leaves while the button is down.
- FIXED: Added more internal safeguards to prevent crashes when the program exits.
- FIXED: GroupBox controls are now drawn using GDI instead of System.Drawing to improve performance and reduce memory usage.
Version 1.0.2.2
Release date: July 1, 2004
- ADDED: Support for Visual Studio 2002.
- FIXED: Images were not drawn on buttons when ImageAlign was BottomLeft, BottomMiddle, or BottomRight.
- FIXED: Button controls did not appear pushed when space bar was used instead of clicking.
- FIXED: Non-roman unicode characters were being drawn as question marks on group boxes and labels.
- CHANGED: VisualStyles now uses the Nullsoft Scriptable Install System for installation.
Version 1.0.2.1
Release date: June 2, 2004
- ADDED: VB.NET syntax to the documentation.
- FIXED: A bug when a GroupBox control was resized to (0, 0).
Version 1.0.2.0
Release date: June 1, 2004
- ADDED: Added support for systems running version 1.0 of the .NET framework.
- ADDED: Documentation now includes examples for Visual Basic.
- ADDED: Support for NumericUpDown and DomainUpDown.
- FIXED: Spin part declarations were in ThemeStates instead of ThemeParts.
Version 1.0.1.0
Release date: March 31, 2004
Initial public release.