Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB.NET]convertire una stringa ad es. in System.drawing.color

    domanda a carattere generale anche se ho specificato system.drawing.color

    mettiamo che leggo da file di configurazione un nome di un colore, ad esempio color.red.
    Vorrei che ad esempio la mia label venisse colorata di quel colore ma questo codice non è buono:

    dim s as String = [...leggo il file...]
    label.forecolor = s

    perché il cast non viene effettuato, come fare? (si può fare con una select case ma solo se i colori sono predefiniti)
    www.valeweb.net

  2. #2
    In generale forse potresti utilizzare la Reflection, ma è sempre meglio starne alla larga (è piuttosto incasinata da usare). In questo caso particolare invece ti basta scorciare adeguatamente la stringa in modo che rimanga solo il nome del colore e ottenere il colore usando il metodo Color.FromName:
    codice:
    label.ForeColor = Color.FromName(s.Substring(6))
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    ho visto che con la reflection posso andare ad analizzare le dll, ma mi sembra che non sia possibile intervenire come da topic,
    www.valeweb.net

  4. #4
    Con la reflection puoi effettuare numerose operazioni su qualunque assembly .NET caricato in memoria (sempre che il tuo codice ne abbia i permessi), e credo che si potrebbe anche risolvere il tuo problema utilizzandola adeguatamente. Tuttavia in questo caso credo che non sia il caso di stare a scomodarla, visto che c'è già un metodo apposta per ottenere i colori dotati di un determinato nome.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.