Actually, it is incorrect to say that Custom Colors defined in the way I showed you in this answer: [
^] ... do not persist. They do persist, as long as your Application is running.
They are, of course, cleared when you quit your Application.
So, the question of how to save them, so they'll be available the next time you run your Application, is the same question you have to answer any time you want to save
any Application Setting.
The CustomColors are available as a Property of the ColorDialog object: [
^]. It's an array of 16 integers where each integer represents a Color. The default for each "slot" ... undefined ... is #16777215, which is White.
There are a variety of ways to approach saving Application settings, and restoring them. These include Application Settings, Serialization, and other methods.
I suggest you start here, and study Application.Settings: [
^]. Once you get started, and know how to create an Application Setting, set it, and restore it, ask specific questions here.
Please remember that the goal, for many of us answering questions, here, is to help people become better programmers, to teach, to enable.