2009-01-29 10 views

Répondre

1

Vous devrez utiliser une liste déroulante dessinée par le propriétaire. This article sur CodeProject est une bonne référence.

+0

est-il pas d'autre bidouille ou truc pour cela? Je crois qu'il y aurait des contrôles personnalisés à cette fin. – Cerebrus

+0

Je suis sûr qu'il existe des contrôles tiers qui supportent cela, bien sûr. Je ne crois pas (mais j'ai déjà eu tort), il est pris en charge avec Windows Forms. –

1

Si vous souhaitez le sélecteur de couleurs fourni lorsque vous placez un objet avec une propriété typée en couleur dans un PropertyGrid, puis this person has done just that, mais ils l'ont fait comme un bouton avec une liste déroulante.

Si vous voulez vraiment que ce soit un ComboBox, vous ne devriez pas avoir trop de problèmes.

0

Voici le code je de charger la liste des couleurs à un combo pour l'utilisateur pour sélectionner:

List<string> colorslist = new List<string>(); 

string[] allColors = Enum.GetNames(typeof(System.Drawing.KnownColor)); 
string[] systemEnvironmentColors = new string[(typeof(System.Drawing.SystemColors)).GetProperties().Length]; 

int index = 0; 

foreach (MemberInfo member in (typeof(System.Drawing.SystemColors)).GetProperties()) 
{ 
    systemEnvironmentColors[index++] = member.Name; 
} 

foreach (string color in allColors) 
{ 
    if (Array.IndexOf(systemEnvironmentColors, color) < 0) 
    { 
        colorslist .Add(color); 
    } 
} 

cboColors.DataSource = colorslist; 
Questions connexes