سلام دوستان ، یه مشکلی برام پیش اومده
دستوری نوشتم برای اینکه هر گاه روی یک تکست باکس فکوس میشه رنگ پس زمینه اون بشه زرد ولی متاسفانه فقط تووی اولین تکست باکس اول این درست کار میکنه بقیه وقتی فوکوس میشن رنگشون تغییر نمیکنن
جالب اینه که کدی هم نوشتم برای اینکه وقتی روی دکمه " خالی کردن فیلد ها " کلیک بشه همه فیلد ها خالی بشن درصورتیکه بازم فقط تکست باکس اول خالی میشه
لطفاً کد زیر رو چک کنید شاید جایی ایراد داره مرسی :
کد برای تغییر رنگ :
public frmCreateNewEm()
{
InitializeComponent();
foreach (Control CTRL in this.Controls)
{
if (CTRL is TextBox)
{
CTRL.GotFocus += new EventHandler(CTRL_GotFocus);
CTRL.LostFocus += new EventHandler(CTRL_LostFocus);
}
}
private void frmCreateNewEm_Load(object sender, EventArgs e)
{
txtNationalCode.Focus();
txtEmCode.Text = ( Program.CurrentPersianYear.Substring(2,2)+ RanCode(8));
lblNationalCode.Visible = false;
System.Globalization.CultureInfo language = new System.Globalization.CultureInfo("fa-ir");
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(language);
}
void CTRL_LostFocus(object sender, EventArgs e)
{
TextBox TXT = sender as TextBox;
TXT.BackColor = Color.White;
}
void CTRL_GotFocus(object sender, EventArgs e)
{
TextBox TXT = sender as TextBox;
TXT.BackColor = Color.Yellow;
}
private void button2_Click(object sender, EventArgs e)
{
foreach (Control CTRL in this.Controls)
{
if (CTRL is TextBox)
{
(CTRL as TextBox).Clear();
}
}
}