+1 امتیاز
سلام دوستان عزیز من یک فرم دارم که 30 تا تکس باکس روی این فرم هست میخوام به هر وسیله ای (موس ، کیبورد) که کاربر در تکس باکس فوکوس کرد رنگ اون زرد بشه

 

اگر متوجه نشدین بگین بیشتر توضیح بدم
بسته شده

2 پاسخ

+1 امتیاز
 
بهترین پاسخ

سلام.

ابتدا تمامی تکست باکسهای فرمتون رو به حالت انتخاب در بیارید.

 و سپس از پنجره events بر بروی رویداد Enter دو بار کلیک کنید. 

و کد زیر رو در رویداد enter بنویسید.

            TextBox txt = (TextBox)this.ActiveControl;
            txt.BackColor = Color.Yellow;

شما میتونید در رویداد enter به جای:

    Control Temp = this.ActiveControl;
    Temp.BackColor = Color.Yellow;
    objControl = Temp;

از

 

            this.ActiveControl.BackColor = Color.Yellow;
            objControl = this.ActiveControl;

استفاده کنید.

توسط (2,595 امتیاز) 5 15 90

آقا بازم کد بهتر شد.

شما همه رو به حالت انتخاب در بیارید و این کد رو بنویسید البته از کد آقای ابراهیمی برداشت کردم

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

        private void maskedTextBox1_Enter(object sender, EventArgs e)
        {
            ((Control)sender).BackColor = Color.Yellow;
        }

 

توسط (2,595 امتیاز) 5 15 90
+1 امتیاز

سلام، همچین کدی میشه :

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

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

            this.textBox2.Leave += new System.EventHandler(this.textBox1_Leave);
            this.textBox2.Enter += new System.EventHandler(this.textBox1_Enter);
                                                                       
            this.textBox3.Leave += new System.EventHandler(this.textBox1_Leave);
            this.textBox3.Enter += new System.EventHandler(this.textBox1_Enter);
        }

        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;
        }
    }
}
آقا یونس یعنی باید برای 30 تا تکس باکس این کد ها رو بنویسم خب خیلی میشه

 

راهی نیست
توسط (144 امتیاز) 1 6 21

این کد بهینه تره

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

namespace WindowsFormsApplication33
{

    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();

            foreach (TextBox textbox in this.Controls)
            {
                if (textbox is TextBox)
                {
                    textbox.Enter += new EventHandler(textBox4_Enter);
                    textbox.Leave += new EventHandler(textBox4_Leave);
                }
            }
        }

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

        private void textBox4_Leave(object sender, EventArgs e)
        {
            ((TextBox)sender).BackColor = Color.White;
        }
    }
}
توسط (6,480 امتیاز) 6 17 129
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...