2009-10-21 6 views
1

J'ai un ListView qui contient des éléments avec quatre colonnes. Les valeurs dans trois des colonnes sont à peu près fixes (bien que modifiables via une boîte de dialogue d'édition d'éléments), mais la valeur dans le quatrième est un index, et je veux qu'il soit calculé à la volée. Je sais que je pourrais utiliser une liste owner-draw, mais, à moins que je n'obtienne pas les exemples dans MSDN, il semble que je devrais prendre la responsabilité de la peinture et du rendu des objets dans les trois autres colonnes . Tout ce dont j'ai besoin, c'est que le contrôle me demande ce que le texte de l'index pour chaque élément avant le dessine.Comment obtenir des rappels pour un sous-élément ListView? (Partial Owner-draw)

Est-ce possible? Des solutions de contournement connues sinon?

Répondre

3

Vous pouvez utiliser le propriétaire dessiner, mais encore obtenir le ListView de tirer certains des sous-éléments elle-même en fixant ev.DrawDefault à true pour ces colonnes:

private void MyList_DrawSubItem(object sender, DrawListViewSubItemEventArgs ev) 
{ 
    if (!this_is_an_interesting_column(ev.ColumnIndex)) 
    { 
     ev.DrawDefault = true; 
     return; 
    } 

    now_handle_the_interesting_column(); 
} 
+0

Merci. Cela m'a permis de faire ce dont j'avais besoin. – JamieH

Questions connexes