Я не до конца понимаю, что вы подразумеваете под «разрешить пользователю выбирать цвет», поэтому у меня есть два решения для вас.
Сначала Вы можете использовать диалоговое окно цвета для выбора цвета
ColorDialog colorDialog = new ColorDialog();
if ( colorDialog.ShowDialog() != DialogResult.Cancel )
{
textBox.ForeColor = colorDialog.Color;
}
или ознакомиться с этим образцом Обычный контроль ColorPicke