HHI Sunil,
Exmple -1 Boîte à outils dans MetroStyleManager ajouter
Exemple 2 (Méthode d'extension)
public static void SetDefaultStyle(this IContainer contr, MetroForm owner, MetroColorStyle style)
{
MetroStyleManager manager = FindManager(contr, owner);
manager.Style = style;
}
public static void SetDefaultTheme(this IContainer contr, MetroForm owner, MetroThemeStyle thme)
{
MetroStyleManager manager = FindManager(contr, owner);
manager.Theme = thme;
}
private static MetroStyleManager FindManager(IContainer contr, MetroForm owner)
{
MetroStyleManager manager = new MetroStyleManager(contr);
foreach (IComponent item in contr.Components)
{
if (((MetroStyleManager)item).Owner == owner)
{
manager = (MetroStyleManager)item;
}
}
return manager;
}
utilisant:
public frmMain()
{
InitializeComponent();
this.components.SetDefaultStyle(this, MetroColorStyle.Purple);
}
Exemple - 3: Si vous souhaitez définir le thème de toutes les formes.
Étape 1: Créer une nouvelle classe "MyExtensions.cs". Ce contenu est:
public static class MyExtensions
{
//What is your style
private const MetroColorStyle FormStyle = MetroColorStyle.Green;
public static void SetStyle(this IContainer container, MetroForm ownerForm)
{
if (container == null)
{
container = new System.ComponentModel.Container();
}
var manager = new MetroFramework.Components.MetroStyleManager(container);
manager.Owner = ownerForm;
container.SetDefaultStyle(ownerForm, FormStyle);
}
public static void SetDefaultStyle(this IContainer contr, MetroForm owner, MetroColorStyle style)
{
MetroStyleManager manager = FindManager(contr, owner);
manager.Style = style;
owner.Style = style;
}
public static void SetDefaultTheme(this IContainer contr, MetroForm owner, MetroThemeStyle thme)
{
MetroStyleManager manager = FindManager(contr, owner);
manager.Theme = thme;
}
private static MetroStyleManager FindManager(IContainer contr, MetroForm owner)
{
MetroStyleManager manager = null;
foreach (IComponent item in contr.Components)
{
if (((MetroStyleManager)item).Owner == owner)
{
manager = (MetroStyleManager)item;
}
}
return manager;
}
}
Étape 2: Dans tous les formulaires dont vous aurez besoin d'appeler la méthode inférieure dans la méthode « Load ». Excemple Form1.cs pour
private void Form1_Load(object sender, EventArgs e)
{
this.components.SetStyle(this);
}
Si vous voulez un regard épatant Metro; le style et la coloration; vous êtes sans doute mieux en utilisant _WPF_ et _MahApps Metro_. Beaucoup plus facile que WinForms. [Ce projet Github] (https://github.com/thielj/MetroFramework/graphs/contributors) dont vous avez parlé, a l'air plutôt triste. Aucune activité depuis la mi-2013 – MickyD
@Micky c'est à l'origine une copie de MetroFramework et non pour WCF. –
MetroFramework est assez robuste, je ne vois pas de problème à utiliser une librairie de 2 ans et demi si elle est robuste! –