Добавьте ссылку на KVP в словаре в свойство Tag Textbox.Когда пользователь меняет цвет, получите KVP из свойства Tag и измените значение в KVP.Я предоставляю информацию о свойстве Tag в моем блоге C # Winforms и скрытом теге Association .WPF / Silverlight также использует свойство Tag для элементов управления ..
--- Редактировать по запросу пользователя ---
Я не уверен, почему вам нужно перечислить словарь.Весь смысл словаря в том, чтобы быстро получить ключ.Мой пример использует это и не делает цикл for.
... Местоположение инициализации ....
var myDictionary = new Dictionary<string, Tuple<string, System.Drawing.Color>>()
{
{ "Black", new Tuple<string,System.Drawing.Color>("White", Color.Green) },
{ "White", new Tuple<string,System.Drawing.Color>("Black", Color.Red) }
};
... (позже в коде) ...
private void btnTrans_Click (отправитель объекта, EventArgs e)
{
var key = inputBx.Text; // Let us say "White"
if (myDictionary.ContainsKey(key))
{
var targetColor = myDictionary[key]; // Just get the value
outputBx.Select(0, targetColor.Item1.Length);
outputBx.SelectionColor = targetColor.Item2;
outputBx.Text = targetColor.Item1;
}
else
{
outputBx.Text = "Unknown";
}
}
Дополнительную информацию см. В моей блог-статье о словарях C # Tricks Dictionary Tricks