تغیر رنگ پس زمینه 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; } } }
این کد برای یک تکست باکس هستش فقط برای تکست ها متعدد جواب نمیده
مهندس جان در منوی های سایت منویی بنام انجمن من نمیبینم که مطح کنم
پرسش و پاسخ
مهندس این کد خطا میدهد باید چکار کرد؟
نوع خطا این هستش:
چون نیاز به کدنویسی داره ممنون میشم از این به بعد توی انجمن سوالاتتونو مطرح بفرمایید.
به جای نوع TextBox باید Control بنویسید. برنامه بالا در صورتی که روی فرم هر چیزی به جز TextBox وجود داشه باشه خطا میده. درستش اینه:
public Form1()
{
InitializeComponent();
foreach (Control txtbox in this.Controls)
{
txtbox.Enter += new EventHandler(textBox1_Enter);
txtbox.Leave += new EventHandler(textBox1_Leave);
}
}
private void textBox1_Enter(object sender, EventArgs e)
{
((Control)sender).BackColor = Color.LightBlue;
}
private void textBox1_Leave(object sender, EventArgs e)
{
((Control)sender).BackColor = Color.White;
}
واقعا همه اونت های ابزارهای منو از بین برد و تمامش را دوباره باید تعریف کنم
بعضا در اونتی در leaveدو کد نوشتم مثلا علاوه بر کد تغییر رنگ ، کدی مبنی بر سه سه رقم کردن هم نوشتم اونو چکار کنم چطوری با این کد ترکیب کنم؟
سلام استاد
من برنامه ام را که نوشتم برای هر تکست باکسی یک کد مجزا نوشتم و الان که این مطلب را دیدم وقتی میخوام این کد را بنویسم تمام اونت ها را خطا میزنه و مشکل ساز شد و نمی تونم استفاده کنم
لطفا راهنمایی کنید
سلام، کدتون رو بذارین تو انجمن بنویسین و یه عکس از خطا هم بذارین… ممنون