2010-06-11 17 views
2

comment définir et obtenir la valeur de couleurs pour le texte et/ou l'arrière-plan d'un élément dans une bande de menu contextuel en fonction de la valeur?C# ContextMenuStrip propriétés de l'élément!

est ce code dans le bon sens?

ContextMenuStrip1.Items.Add("this is an item").BackColor = Color.FromArgb(255, 179, 179); 

mais je ne trouve pas un moyen d'obtenir la valeur de couleur!

Je l'ai fait:

int i = ContextMenuStrip1.Items.IndexOfKey("this is an item"); 
Color c = ContextMenuStrip1.Items[i].BackColor; // I get error in here! 

mais il ne fonctionne pas !!!!

également comment obtenir ou/et définir d'autres propriétés en fonction de la valeur de la chaîne de l'élément (exemple "ceci est un élément")?

acclamations

Répondre

5

la "clé" est la propriété ToolStripItem.Name. Essayez ce qui suit:

ContextMenuStrip ContextMenuStrip1 = new ContextMenuStrip(); 
var item = ContextMenuStrip1.Items.Add("this is an item"); 
item.BackColor = Color.FromArgb(255, 179, 179); 
item.Name = "key"; 

int i = ContextMenuStrip1.Items.IndexOfKey("key"); 
Color c = ContextMenuStrip1.Items[i].BackColor; 
+0

Merci, c'était parfait :-) –