none
Background Color Brushes RRS feed

  • Domanda

  • Ho una textBox e devo modificare la proprietà Background utilizzando un colore personalizzato hex #FFFDD0 come faccio ?

    • Spostato Irina Turcu venerdì 14 dicembre 2012 14:20 Argomento WPF. (Da:Microsoft Visual Basic Forum)
    martedì 11 dicembre 2012 17:44

Risposte

  • Ciao,

    parlando di WPF, devi prima convertire la tua stringa in un colore, usando la ColorConverter, poi ottenuto il nuvo colore, ti crei una nuova istanza di SolidColorBrush passando al costruttore il colore che vuoi usare.

    Questa nuova istanza la puoi passare alla proprieta' BackColor della tua TextBox.

    Scritto in VB, risulta essere:

     Dim objNuovoColore As Object = System.Windows.Media.ColorConverter.ConvertFromString("#FFFDD0")
     Dim NuovoColore As System.Windows.Media.Color = DirectCast(objNuovoColore, System.Windows.Media.Color)
     Dim SCB As New System.Windows.Media.SolidColorBrush(NuovoColore)
     Me.TextBox1.Background = SCB

    • Proposto come risposta Irina Turcu lunedì 17 dicembre 2012 14:43
    • Contrassegnato come risposta Irina Turcu mercoledì 25 settembre 2013 13:32
    lunedì 17 dicembre 2012 11:52

Tutte le risposte

  • Ciao Gianni,

    prova a vedere il codice inserito in questo link:

    http://stackoverflow.com/questions/3870071/change-textbox-backcolor-in-code-behind

    Purtroppo al momento non posso testare il codice:

    Textbox1.BackColor = System.Drawing.ColorTranslator.FromHtml("#F2F0E1");


    Ruggiero Lovreglio
    www.ruggierolovreglio.altervista.org



    • Modificato Ruggiero Lovreglio martedì 11 dicembre 2012 18:58
    • Proposto come risposta Carmelo La Monica martedì 11 dicembre 2012 20:09
    • Contrassegnato come risposta Irina Turcu venerdì 14 dicembre 2012 11:10
    • Contrassegno come risposta annullato Irina Turcu venerdì 14 dicembre 2012 14:04
    • Proposta come risposta annullata Irina Turcu venerdì 14 dicembre 2012 14:04
    martedì 11 dicembre 2012 18:57
  • Ciao gianni_285,

    Ho una textBox e devo modificare la proprietà Background utilizzando un colore personalizzato hex #FFFDD0 come faccio ?

    il link proposto da Ruggiero dovrebbe risolvere il tuo quesito , solo una cosa i controlli TextBox e RichTextBox non supportano la trasparenza  , va fatto attenzione onde evitare eccezioni a Runtime.

    Ciao.


    martedì 11 dicembre 2012 20:13
  • Grazie, ma Non funziona usando WPF, la proprietà backcolor non c'è,

    impossibile convertire da drawing.color a media.brush

    venerdì 14 dicembre 2012 12:20
  • Grazie, ma Non funziona usando WPF, la proprietà backcolor non c'è,

    impossibile convertire da drawing.color a media.brush


    Ciao gianni_285,

    La soluzione proposta sopra è attinente nel contesto di un progetto Windows Forms, che è quanto si poteva aspettare visto che nella domanda iniziale non è stato specificato il tipo di tecnologia utilizzata.

    Il TextBox in WPF infatti presenta le proprietà Background e Foreground che ci permettono di stilizzare il controllo. Entrambe possono essere impostate utilizzando un oggetto tipo Brush. Per ottenere un Brush dal codice Hex del colore desiderato si può usare un BrushConverter. Un esempio nel thread di seguito (l’esempio è per un panel, ma gli stessi settaggi si fanno per il controllo TextBox):

    WPF:Setting background of panel with custom color code

    P.S. Ho spostato il thread nel forum WPF per fornire maggiore chiarezza a chi legge la discussione.


    Irina Turcu - Microsoft

    [Manifesto] Regole e Aspetti generali all'uso dei forum MSDN

    Questo contenuto è distribuito “as is” e non implica alcuna responsabilità da parte di Microsoft. L'azienda offre questo servizio gratuitamente, allo scopo di aiutare gli utenti e approfondire la loro conoscenza dei prodotti e tecnologie Microsoft.

    LinkedIn

    venerdì 14 dicembre 2012 14:17
  • Ciao,

    parlando di WPF, devi prima convertire la tua stringa in un colore, usando la ColorConverter, poi ottenuto il nuvo colore, ti crei una nuova istanza di SolidColorBrush passando al costruttore il colore che vuoi usare.

    Questa nuova istanza la puoi passare alla proprieta' BackColor della tua TextBox.

    Scritto in VB, risulta essere:

     Dim objNuovoColore As Object = System.Windows.Media.ColorConverter.ConvertFromString("#FFFDD0")
     Dim NuovoColore As System.Windows.Media.Color = DirectCast(objNuovoColore, System.Windows.Media.Color)
     Dim SCB As New System.Windows.Media.SolidColorBrush(NuovoColore)
     Me.TextBox1.Background = SCB

    • Proposto come risposta Irina Turcu lunedì 17 dicembre 2012 14:43
    • Contrassegnato come risposta Irina Turcu mercoledì 25 settembre 2013 13:32
    lunedì 17 dicembre 2012 11:52