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:
Codice del FormSceltaColori:
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