Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197

    VB.NET domanda su combobox

    dopo aver caricato un combo:
    combo1.items.add("ciccio")
    combo1.items.add("pippo")
    combo1.items.add("pluto")

    come faccio a fare in modo che il "testo" di un elemento di un combo venga colorato in modo differente dagli altri
    o piu genericamente rendere il testo di ogni elemento di un colore diverso?

    Grazie a tutti per l'attenzione

  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    credo non sia possibile a meno che non si possa intendere un item come singolo oggetto

  3. #3
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    anche io penso che ogni elemento rappresenti un'oggetto,
    anche perche esiste una collezione items,
    non trovo pero' la proprieta forecolor per il singolo item,
    sto risolvendo gestendo l'evento drawithem e ridisegnando la stringa a "manella", ma è un po un casino, forse devo creare una classe ereditando da quella del combo....
    vabbe ci sto lavorando, chiunque avesse qualche idea geniale si faccia avanti!

  4. #4
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197

    Ho risolto cosi!

    per chi interessa:

    dopo aver impostao la proprieta DrawMode del combobox su "OwnerDrawFixed" (che consente di disegnare "manualmente" l'elemento nel combo)

    ho gestito l'evento DrawItem in questo modo:
    -------------------------
    Private Sub combo2_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles combo2.DrawItem
    Dim oBrush As SolidBrush = DirectCast(IIf(e.Index = combo2.SelectedItem, Brushes.Red, Brushes.Black), SolidBrush)
    Dim sText As String = DirectCast(combo2.Items(e.Index), String)
    e.Graphics.DrawString(sText, Me.Font, oBrush, e.Bounds.X, e.Bounds.Y)
    End Sub
    ------------------------


    cosi(in questo caso) ho il secondo elemento colorato di rosso
    vabbe la formattazione è andata a farsi friggere
    cmq è un bel punto di partenza, io ho risolto cosi,
    in pratica dentro al combo ci si potrebbe disegnare qualsiasi cosa, io c'ho "disegnato" una stringa

    se qualcuno hai in mente qualche utilizzo cazzuto di questa cosa, si faccia avanti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.