[VB 2005] Nome dei colori

sabato 26 gennaio 2008 - 18.24

fos Profilo | Newbie

Salve,

ho una daragridview e alcune celle sono button poichè l'utente quando ci clicca gli compare una color dialog box in cui decide il colore. Il problema è che alcuni colori non hanno un nome quindi mi mostra "A:255, ...". Come posso fare per far scegliere all'utente solo tra i colori che hanno un nome.

Grazie.

aiedail92 Profilo | Expert

Ciao

Prova controllando dopo che hai eseguito lo showdialog se la proprietà IsNamedColor della propietà Color del ColorDialog è true. Se è false rimostri il colordialog.
Magari può aiutarti anche impostare su false la proprietà AllowFullOpen del ColorDialog impedendo così la definizione di colori personalizzati

Luca

fos Profilo | Newbie

Ho provato ma già tra i colori base ve ne sono alcuni che non hanno un vero e prorpio nome. Per quanto riguarda la proprietà isNamedColor preferirei che l'utente non vedesse prorpio i colori che non hanno un nome.

Grazie molte comunque per l'attenzione mostratami

chico_ Profilo | Newbie

A questo punto, direi che della ColorDialog non te ne puo' fregar di meno....
Puoi costruirti tu un form personalizzato con inseriti solo i colori "con nome", e gestirteli come meglio ti aggrada.
Ecco un esempio:
Inserisci un form (Form1) con un CommandButton (Command1)
Poi un altro form (FormSceltaColori)
Codice da inserire nell'evento Click del CommandButton:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
Codice del FormSceltaColori:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Cliccando sul CommandButton ti si aprirà un nuovo form con tutti i colori "con il nome" in bella mostra. Ho messo anche il ToolTip in modo che, soffermandosi su un colore, ti venga evidenziata la relativa descrizione.
La lista include anche colori "di sistema" , ma iniziano tutti con "button","gradient", "menu" quindi li puoi evitare con un semplice controllo (usa StartsWith) durante il popolamento dell'arraylist.
A questo punto, al click (o doppio click) su un colore lo memorizzi in una variabile pubblica in un modulo, per usarla a tuo piacimento (questa parte non è implementata nella routine, ma è oltremodo semplice).

Lascio ovviamente a te i miglioramenti, gli abbellimenti e orpelli del caso (ad esempio, potresti anche caricare l'array una volta sola all'apertura del programma).

Sulla stessa falsariga potresti anche popolare una ListView con una piccola picturebox contenente il colore e a fianco la descrizione, a te la scelta.

Spero sia utile

Ciauz

CHico




fos Profilo | Newbie

Ho utilizzato questo sistema, è estremamente efficente.

Grazie molte mi sei stato veramente di grande aiuto

Ciao

chico_ Profilo | Newbie

>Ho utilizzato questo sistema, è estremamente efficente.
>
>Grazie molte mi sei stato veramente di grande aiuto
>
>Ciao

Prego....

Chico
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5