J'ai un scénario dans lequel je remplis une zone de liste déroulante avec les noms de modèles. Parmi les modèles, un serait un modèle par défaut. Je veux mettre en évidence le nom de modèle par défaut lorsque je remplis la zone de liste déroulante (de sorte que l'utilisateur sache lequel parmi les éléments est la valeur par défaut). Est-il possible de le faire? Si oui comment? J'utilise un Windows Form en C# 2.0.Surlignage d'un élément particulier dans une zone de liste déroulante
Répondre
Cela dépend un peu de la façon dont vous voulez mettre l'élément en surbrillance. Si vous souhaitez rendre le texte de l'élément par défaut en gras, vous pouvez le faire comme ceci (pour que cela fonctionne, vous devez définir le DrawMode
du ComboBox sur OwnerDrawFixed
, et bien sûr connecter l'événement DrawItem au gestionnaire d'événements) :
J'ai peuplé la zone de liste déroulante avec des objets de modèle, défini comme ceci:
private class Template
{
public string Name { get; set; }
public bool IsDefault { get; set; }
public override string ToString()
{
return this.Name;
}
}
... et l'événement DrawItem est mis en œuvre comme ceci:
private void ComboBox_DrawItem(object sender, DrawItemEventArgs e)
{
if (e.Index < 0)
{
return;
}
Template template = comboBox1.Items[e.Index] as Template;
if (template != null)
{
Font font = comboBox1.Font;
Brush backgroundColor;
Brush textColor;
if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
{
backgroundColor = SystemBrushes.Highlight;
textColor = SystemBrushes.HighlightText;
}
else
{
backgroundColor = SystemBrushes.Window;
textColor = SystemBrushes.WindowText;
}
if (template.IsDefault)
{
font = new Font(font, FontStyle.Bold);
}
e.Graphics.FillRectangle(backgroundColor, e.Bounds);
e.Graphics.DrawString(template.Name, font, textColor, e.Bounds);
}
}
cela devrait vous permettre de continuer à la bonne direction, je espérer.
Définissez DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable de la zone de liste déroulante. Et, Remplacer les méthodes Combobox_MeasureItem() et Combobox_DrawItem(), pour y parvenir.
- 1. Auto remplir une zone de liste déroulante
- 2. Comment styliser une zone de liste déroulante?
- 3. La sélection d'un élément dans une zone de liste
- 4. zone de liste déroulante Lier (JQuery préférence)
- 5. Initialiser une zone de liste déroulante WPF dans XAML?
- 6. désactiver les éléments dans une zone de liste déroulante
- 7. WPF Recherche automatique élément de liste déroulante
- 8. Événements de zone de liste déroulante VB6
- 9. WPF zone de liste déroulante en surbrillance
- 10. Zone de liste déroulante Collapsable en HTML
- 11. Enregistrement du dernier élément sélectionné sur une zone de liste déroulante
- 12. Modification d'une zone de liste déroulante modifiable
- 13. Supprimer un élément d'une zone de liste quitte la zone de liste sans élément sélectionné
- 14. Ajouter des couleurs dans une zone de liste déroulante dans l'application .NET Windows
- 15. ToolTipping une liste déroulante
- 16. Afficher "Chargement en cours ..." dans la zone de liste déroulante
- 17. Comment utiliser la zone de liste déroulante dans C#
- 18. Zone de liste déroulante autocomplétion dans ASP.NET MVC?
- 19. Problème personnalisé de liste déroulante et de zone de liste déroulante?
- 20. Comment une liste déroulante non modifiable (zone de liste modifiable) doit-elle être formatée dans Winforms?
- 21. Filtrage d'une zone de liste déroulante par les valeurs disponibles
- 22. Comment configurer une zone de liste déroulante dans Silverlight pour permettre le passage d'éléments?
- 23. Implémenter une zone de liste
- 24. Comment afficher une zone de liste déroulante dans une ListView lors de la liaison?
- 25. Gras d'une option dans une liste déroulante
- 26. Modification du comportement de MouseWheel d'une zone de liste déroulante
- 27. Animer un élément supprimé dans la zone de liste
- 28. Problème avec la liste déroulante de la liste déroulante
- 29. Liaison de fichiers du dossier ClientBin dans une zone de liste déroulante dans Silverlight?
- 30. Suivi d'un élément dans la zone de liste
Juste implémenté votre soln. Merci un million Fredrik !!! Ce code m'a semblé MAGIQUE :) –