genere un panel avec toutes les couleurs et leur nom en se servant de la recuperation du type :
Private oT As Type = System.Drawing.Color.Beige.GetType
ici n'importe quelle couleur (beige) fait l'affaire
Source / Exemple :
-------------------------------------------------------------------------------------------
------------------------------------- couleur.aspx -------------------------------------
-------------------------------------------------------------------------------------------
<%@ Page Language="vb" Codebehind="couleurs. vb" Inherits="ymages.couleur"%>
<html>
<body>
<form id="frm" method="post" runat="server">
<asp:PlaceHolder id="pl_couleur" runat="server" />
</form>
</body>
</html>
-------------------------------------------------------------------------------------------
--------------------------------------- couleur.vb --------------------------------------
-------------------------------------------------------------------------------------------
Public Class couleur
Protected WithEvents pl_couleur As PlaceHolder
Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
Dim mcoul As New TableauCouleurs()
pl_couleur.Controls.Add(mcoul.DisplayCouleurs)
End Sub
End Class
Public Class TableauCouleurs
#Region " variables "
Private _Colonnes As Int32
Private _Font As String
Const nbCoul As Int32 = 141
Const LargCoulPercent As Int32 = 4
Private oT As Type = System.Drawing.Color.Beige.GetType
Private oProperties() As System.Reflection.PropertyInfo = oT.GetProperties
Private oP As System.Reflection.PropertyInfo
#End Region
#Region " constructeurs "
Sub New()
MyBase.new()
_Colonnes = 5
_Font = "courier new"
End Sub
#End Region
#Region " proprietes "
Public Property Font() As String
Get
Return _Font
End Get
Set(ByVal Value As String)
_Font = Value
End Set
End Property
Public Property Colonnes() As Int32
Get
Return _Colonnes
End Get
Set(ByVal Value As Int32)
_Colonnes = Value
End Set
End Property
#End Region
#Region " methodes "
Public Function DisplayCouleurs() As Panel
Dim pn As New Panel()
pn.Width = Unit.Percentage(100)
pn.Height = Unit.Percentage(100)
Dim nbParCol As Int32 = CType((nbCoul / Colonnes), Int32)
Dim TexteLarge As Int32 = (CType((100 / Colonnes), Int32)) - LargCoulPercent
Dim TexteHaut As Int32 = (CType((100 / nbParCol), Int32)) - 1
For Each oP In oProperties
If oP.CanRead Then
Try
Dim lblC As New Label()
Dim lblT As New Label()
With lblT
.Text = oP.Name
.Width = Unit.Percentage(TexteLarge)
.Height = Unit.Percentage(TexteHaut)
With .Style
.Add("text-align", "right")
.Add("padding-right", "8px")
.Add("margin-bottom", "1px")
.Add("font-size", "8pt")
.Add("font-family", Font)
End With
End With
With lblC
.Text = ""
.Width = Unit.Percentage(LargCoulPercent)
.Height = Unit.Percentage(TexteHaut)
.BackColor = CType(oP.GetValue(oT, Nothing), Color)
.ToolTip = (CType(oP.GetValue(oT, Nothing), Color)).ToString + " / " + CType(oP.GetValue(oT, Nothing), Color).ToArgb.ToString
With .Style
.Add("margin-bottom", "1px")
.Add("border", "1px solid black")
End With
End With
pn.Controls.Add(lblT)
pn.Controls.Add(lblC)
Catch ex As Exception
End Try
End If
Next
Return pn
End Function
#End Region
End Class
-------------------------------------------------------------------------------------------
Conclusion :
pour un editeur autre que visual studio remplacer Codebehind par src
-------------------------------------------------------------------------------------------
erb
ebwm@ymages.com
http://ymages.com
http://isocele.net
-------------------------------------------------------------------------------------------
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.