Comment : définir par programme les propriétés de style d'un contrôle serveur ASP.NET
Mise à jour : novembre 2007
Vous pouvez définir les propriétés de style d'un contrôle serveur ASP.NET par programme, ce qui vous permet d'effectuer une modification conditionnelle de l'apparence d'un contrôle.
Pour définir les propriétés de style par programme
Utilisez la convention hiérarchique suivante pour spécifier l'objet style et la propriété que vous souhaitez définir :
Control.StyleObject.Property = value
Control.StyleObject.Property = value;
L'exemple de code suivant montre comment définir la propriété BackColor pour l'objet DayStyle d'un contrôle Calendar :
Calendar1.DayStyle.BackColor = System.Drawing.Color.Green
Calendar1.DayStyle.BackColor = System.Drawing.Color.Green;
Vous pouvez également créer un objet Style distinct et copier ou fusionner les valeurs de ses propriétés avec l'un des styles d'un contrôle. C'est un puissant moyen d'appliquer les mêmes styles à des objets de différentes listes de votre projet. En effet, vous pouvez créer une feuille de style virtuelle comme objet Style, puis l'appliquer à une série de contrôles.
Pour créer un objet style et l'appliquer aux contrôles
Créez une instance de l'objet Style et définissez ses propriétés, comme le montre l'exemple suivant :
Dim s As Style = New Style() s.BackColor = System.Drawing.Color.Red
Style s = new Style(); s.BackColor = System.Drawing.Color.Red;
Assignez l'objet Style à un contrôle à l'aide de l'une des méthodes suivantes :
La méthode CopyFrom applique tous les paramètres d'un objet Style, y compris ceux ayant des valeurs Null.
La méthode MergeWith copie uniquement les propriétés déjà définies de l'objet Style, en ignorant les propriétés Style qui n'ont pas été définies. De plus, la méthode MergeWith ne remplace aucun élément de style existant.
L'exemple suivant montre comment créer un objet Style, définir une de ses propriétés, puis l'appliquer à deux objets style de contrôle différents, à l'aide de chacune des méthodes décrites :
' Apply all values in s, including nulls. Calendar1.SelectedDayStyle.CopyFrom(s) ' Apply only values in s that are null in HeaderStyle. DataGrid1.HeaderStyle.MergeWith(s)
// Apply all values in s, including nulls. Calendar1.SelectedDayStyle.CopyFrom(s); // Apply only values in s that are null in HeaderStyle. DataGrid1.HeaderStyle.MergeWith(s);