Как установить следующий доступный пользовательский цвет в ColorDialog?

Я в настоящее время кодирую в VB.net.

Пользователь помещает курсор в ячейку таблицы и нажимает "Таблица> Цвет фона", чтобы редактировать текущий цвет фона.

В настоящее время я смог определить текущий цвет (например, светло-синий) и установить этот цвет в ColorDialog (образцы цветов верны, а значения RGB верны).

Что я хотел бы сделать, это дать пользователю возможность нажать "Добавить в пользовательские цвета", чтобы сохранить цвет. Проблема в том, что он устанавливает первый квадрат в области пользовательских цветов (который уже заполнен другим пользовательским цветом) вместо того, чтобы найти следующий белый квадрат и вместо этого установить его там.

Это возможно?

Если пользователь выбирает новый пользовательский квадрат цвета при первой загрузке ColorDialog, текущий цвет (светло-голубой) исчезает, а образцы цветов и значения RGB устанавливаются как белые.

Спасибо

2 ответа

Я нашел другой способ достичь своей цели...

Прежде чем загрузить ColorDialog, я перебираю CustomColors и вижу, является ли цвет, на который я щелкнул, одним из этих значений, если нет, я добавляю его в массив CustomColors.

Таким образом, цвет, на который я щелкаю в интерфейсе, может быть выбран в пользовательском интерфейсе цветов и может быть изменен пользователем при необходимости.

Обратитесь к этому SO-ответу, в нем есть все подробности о хранении и получении 16 значений из файла settings.settings SO-связанный ответ

Еще одна вещь, на которую следует обратить внимание, это то, что порядок 16 значений вверх и вниз не зависит друг от друга слева направо.

0 2 4 6 8 10 12 14

1 3 5 7 9 11 13 15

Другие вопросы по тегам