تغیر رنگ پس زمینه Textbox هنگام گرفتن فوکوس

تغییر رنگ پس زمینه یک کنترل TextBox شاید آسان باشد ولی شما فرض کنید که تعداد زیادی TextBox بر روی فرم دارید و می خواهید هنگامی که بر رو آنها فوکوس شد، رنگ پس زمینه شان تغییر کند. در این صورت نمی توان برای همه آنها کدنویسی کرد. یک راه برای انجام این کار این است که در رویداد Leave و Enter یک از آنها کد تغییر رنگ را نوشت و به صورت زیر آن را در بقیه TextBox ها اعمال کرد :

using System;
using System.Drawing;
using System.Windows.Forms;

namespace ChangeColor
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            foreach (TextBox textbox in this.Controls)             
            {                                                      
                 textbox.Enter += new EventHandler(textBox1_Enter);
                 textbox.Leave += new EventHandler(textBox1_Leave);
            }                                                      
        }

        private void textBox1_Enter(object sender, EventArgs e)
        {
            ((TextBox)sender).BackColor = Color.LightBlue;
        }

        private void textBox1_Leave(object sender, EventArgs e)
        {
            ((TextBox)sender).BackColor = Color.White;
        }
    }
}