Tabcontrol style xp (ne vous réjouissez pas trop vite)

Description

Alors voilà, je cherchai comment utiliser le style xp dans les TabControls en .NET, chose qui n'est pas possible actuellement avec le Framework 1.1.
J'ai alors eut deux idées :

. La première consistait à utiliser l'évènement Paint d'une TabPage, mais j'ai laissé tomber car je n'ai pas trouvé où se cachent les couleur du dégradé utilisé par le système. Je vous laisse quand même un bout de code ci-dessous.

. La seconde idée consistait tout simplement à remplir une TabPage d'un nouveau TabControl, ceux ci acceptant le style xp quand ils sont vide. Chose qui marchait nickel à première vue, mais qui apporte son lot de contraintes : la transparence des controls CheckBox, RadioButton et GroupBox n'est pas gérée... :(

Si quelqu'un à une autre solution merci de me la faire savoir

Source / Exemple :


'Code à placer dans l'évènement Load de votre Form.
'N'oublier pas d'activer le style xp avec "Application.EnableVisualStyles()", juste après "InitializeComponent()" dans " Public Sub New()"

Dim x As Integer
Dim TabP As TabPage
For Each TabP In TabControl1.Controls
    x = x + 1
    Dim BackTabControl As New TabControl
    BackTabControl.Name = "BackTabControl" & x
    BackTabControl.Location = New Point(-4, -4)
    BackTabControl.Size = New Size(TabPage1.Width + 8, TabPage1.Height + 8)
    TabP.Controls.Add(BackTabControl)
Next TabP

'---------------------------------------------------------------------------

'Autre méthode, code pour l'évènement paint d'une TabPage, ici nommée TabPage1

Dim Linear As New Drawing2D.LinearGradientBrush(New Rectangle(0, 0, TabPage1.Width, TabPage1.Height), SystemColors.ControlLightLight, SystemColors.ControlLight, Drawing2D.LinearGradientMode.Vertical)
e.Graphics.FillRectangle(Linear, New Rectangle(0, 0, TabPage1.Width, TabPage1.Height))
Linear.Dispose()

Conclusion :


Voilà, en espérant que celà puisse aider quelqu'un
@+

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.