Définir la police et la couleur d'une zone de liste élément par le code en C#
Je suis occupé avec une liste personnalisée de la boîte que j'utilise comme un registre lecteur en c#. Maintenant, je veux déterminé un élément dans un élément déterminé avec une autre police et de la couleur que le reste. J'ai vérifié Cette question et à partir des réponses que j'ai fait le code suivant:
private void myListBox_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
{
e.DrawBackground();
Font myFont;
Brush myBrush;
int i = e.Index;
if (e.Index == 3)
{
myFont = e.Font;
myBrush = Brushes.Black;
}
else
{
myFont = new Font("Microsoft Sans Serif", 9.75f, FontStyle.Bold);
myBrush = Brushes.CadetBlue;
}
e.Graphics.DrawString(myListBox.Items[i].ToString(), myFont, myBrush, e.Bounds, StringFormat.GenericDefault);
}
Et appeler la méthode dans mon IntializeComponent() à l'aide de
this.myListBox.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.myListBox_DrawItem);
L'appel ne pas lever une exception que ce soit, mais je ne vois pas de changement sur la ligne que je veux traiter. Est-il quelque chose que je suis absent?
Essayez d'appeler Invalidate() dans votre combo pour forcer un dessin.
Pouvez-vous confirmer que vous avez ajouté
stackoverflow.com/questions/6896151/... pourrait aider
c'était le problème!!!!!!! J'ai manqué l'appel 🙂
Pouvez-vous confirmer que vous avez ajouté
this.myListBox.DrawMode = DrawMode.OwnerDrawFixed;
?stackoverflow.com/questions/6896151/... pourrait aider
c'était le problème!!!!!!! J'ai manqué l'appel 🙂
OriginalL'auteur Marialvy Martínez | 2013-06-24
Vous devez vous connecter pour publier un commentaire.
Il vous manque une ligne dans votre
IntializeComponent()
ajouter ceci:avant de l'attacher à un événement.
InitializeComponent()
et fonctionne à la perfection :). MerciOriginalL'auteur gzaxx