نمایش نتایج 1 تا 11 از 11

نام تاپیک: کد عمومی برای تغییر ForColor در دکمه های یک فرم

  1. #1
    کاربر دائمی آواتار Helmod
    تاریخ عضویت
    خرداد 1390
    محل زندگی
    تبــریــز
    پست
    114

    کد عمومی برای تغییر ForColor در دکمه های یک فرم

    سلام

    چطور میشه یه کد نوشت که وقتی روی هر یک از دکمه های یک فرم Focus بشه ، رنگ فونت یا همون ForeColor مثلاً قرمز بشه .

    تک تک میشه این کد رو نوشت :

    private void button_Enter(object sender, EventArgs e)
    {
    button.ForeColor = Color.Red;
    }



    ولی اگه 20 تا دکمه داشته باشیم کار سختی میشه و فکر کنم اشتباهه !


    می خام یه کد عمومی بنویسیم که هر گاه روی هر یک از دکمه ها فوکوس شد رنگش عوض شه .

    همینطور روی تکست باکس ها ، هر وقت Enter شد ( ورود به یک تکست باکس ) رنگ زمینه عوض شه

    مرسی
    آخرین ویرایش به وسیله Helmod : یک شنبه 16 تیر 1392 در 21:47 عصر دلیل: تکمیل اطلاعات

  2. #2
    کاربر دائمی آواتار khokhan
    تاریخ عضویت
    دی 1388
    محل زندگی
    اسکو
    پست
    2,176

    نقل قول: کد عمومی برای تغییر ForColor در دکمه های یک فرم

    نقل قول نوشته شده توسط Helmod مشاهده تاپیک
    سلام

    چطور میشه یه کد نوشت که وقتی روی هر یک از دکمه های یک فرم Focus بشه ، رنگ فونت یا همون ForeColor مثلاً قرمز بشه .

    تک تک میشه این کد رو نوشت :

    private void button_Enter(object sender, EventArgs e)
    {
    button.ForeColor = Color.Red;
    }



    ولی اگه 20 تا دکمه داشته باشیم کار سختی میشه و فکر کنم اشتباهه !


    می خام یه کد عمومی بنویسیم که هر گاه روی هر یک از دکمه ها فوکوس شد رنگش عوض شه .

    همینطور روی تکست باکس ها ، هر وقت Enter شد ( ورود به یک تکست باکس ) رنگ زمینه عوض شه

    مرسی
    یه دونه برای باتن ویه دونه برای تکست باکس dll نوشته و برای هرکدوم هم مثالی زده ام

    کدهای مربوط به dll باتن
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace fucos_button1
    {
    public partial class UserControl1 : UserControl
    {
    Color onEnter = Color.Green;
    Color onLeave = Color.Black;
    public UserControl1()
    {
    InitializeComponent();
    }

    private void UserControl1_Load(object sender, EventArgs e)
    {

    }

    private void button1_Enter(object sender, EventArgs e)
    {
    this.button1.ForeColor = onEnter;
    }

    private void button1_Leave(object sender, EventArgs e)
    {
    this.button1.ForeColor = onLeave;
    }
    }
    }
    فایل های ضمیمه فایل های ضمیمه

  3. #3
    کاربر دائمی آواتار CsharpNevisi
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    تهران
    پست
    1,489

    نقل قول: کد عمومی برای تغییر ForColor در دکمه های یک فرم

    از این کد هم میتونی استفاده کنی... !!
    البته من امتحانش نکردم ... خودت تو یه ترد بنویس و تستش کن .. !!
                foreach (Control Cn in this.Controls)
    {
    //رنگی که میخوایی اول داشته باشه
    Cn.ForeColor = Color.Blue;
    if (Cn.Focus())
    {
    //رنگ موقع فکوس
    Cn.ForeColor = Color.Red;
    }
    }

  4. #4
    کاربر دائمی آواتار Helmod
    تاریخ عضویت
    خرداد 1390
    محل زندگی
    تبــریــز
    پست
    114

    نقل قول: کد عمومی برای تغییر ForColor در دکمه های یک فرم

    نقل قول نوشته شده توسط CsharpNevisi مشاهده تاپیک
    از این کد هم میتونی استفاده کنی... !!
    البته من امتحانش نکردم ... خودت تو یه ترد بنویس و تستش کن .. !!
                foreach (Control Cn in this.Controls)
    {
    //رنگی که میخوایی اول داشته باشه
    Cn.ForeColor = Color.Blue;
    if (Cn.Focus())
    {
    //رنگ موقع فکوس
    Cn.ForeColor = Color.Red;
    }
    }
    دستتون درد نکنه ، ولی امتحانش کردم نشد === یعنی میشه رنگ اولیه رو تعریف کرد و درست ج میده ولی تووی فوکوس کار نمیکنه

    در ضمن این تمام کنترل خای موجود رو تغییر رنگ میده می خوام فقط دکمه هام این طوری بشن

  5. #5
    کاربر دائمی آواتار CsharpNevisi
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    تهران
    پست
    1,489

    نقل قول: کد عمومی برای تغییر ForColor در دکمه های یک فرم

    این یکی چی ؟
                foreach (Control Cn in this.Controls)
    {
    //رنگی که میخوایی اول داشته باشه
    Cn.ForeColor = Color.Blue;
    if (Cn.Focus() == true)
    {
    //رنگ موقع فکوس
    Cn.ForeColor = Color.Red;
    }
    }

    راستی تردی که مینویسی باید اینو تو حلقه بی نهایت بزاریا ... !!

  6. #6
    کاربر دائمی آواتار Helmod
    تاریخ عضویت
    خرداد 1390
    محل زندگی
    تبــریــز
    پست
    114

    نقل قول: کد عمومی برای تغییر ForColor در دکمه های یک فرم

    [QUOTE=CsharpNevisi;1813580]این یکی چی ؟
    [CSHARP] foreach (Control Cn in this.Controls)
    {
    //رنگی که میخوایی اول داشته باشه
    Cn.ForeColor = Color.Blue;
    if (Cn.Focus() == true)


    امتحان کردم نشد //

    این کدیه که برنامه میفهمه توی فرم دکمه هست :

                foreach (var item in this.Controls)
    {
    if (item is Button)
    {

    (item as Button).ForeColor = Color.Red;

    }
    }



    حالا چطوری میشه نوشت این دکمه ها هنگام فوکوس رنگشون عوض شه ؟؟؟؟؟

  7. #7
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    www
    پست
    741

    نقل قول: کد عمومی برای تغییر ForColor در دکمه های یک فرم

    کار نسبتا ساده ای هست
    5 دقیقه زمان برد



    private void Form1_Load (object sender , EventArgs e)
    {
    foreach (Control ctrl in this.Controls)
    {
    if (ctrl is Button)
    {
    ctrl.MouseEnter +=new EventHandler(ctrl_MouseEnter);
    ctrl.MouseLeave += new EventHandler(ctrl_MouseLeave);
    }
    }

    }

    void ctrl_MouseEnter (object sender , EventArgs e)
    {
    Button btn = sender as Button;
    btn.BackColor = Color.PaleVioletRed;
    }

    void ctrl_MouseLeave (object sender , EventArgs e)
    {
    Button btn = sender as Button;
    btn.BackColor = this.BackColor;
    }

  8. #8
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    www
    پست
    741

    نقل قول: کد عمومی برای تغییر ForColor در دکمه های یک فرم

    بالایی برای زمانی که موس حرکت روی کنترل دارد واین هم برای زمانی که با کیبرد یا موس کنترل فوکوس میگیرد


    private void Form1_Load (object sender , EventArgs e)
    {
    foreach (Control ctrl in this.Controls)
    {
    if (ctrl is Button)
    {

    ctrl.GotFocus += new EventHandler(ctrl_GotFocus);
    ctrl.LostFocus += new EventHandler(ctrl_LostFocus);

    }
    }

    }

    void ctrl_LostFocus (object sender , EventArgs e)
    {
    Button btn = sender as Button;
    btn.BackColor = this.BackColor;
    }

    void ctrl_GotFocus (object sender , EventArgs e)
    {
    Button btn = sender as Button;
    btn.BackColor = Color.Salmon;
    }

  9. #9
    کاربر دائمی آواتار Helmod
    تاریخ عضویت
    خرداد 1390
    محل زندگی
    تبــریــز
    پست
    114

    نقل قول: کد عمومی برای تغییر ForColor در دکمه های یک فرم

    نقل قول نوشته شده توسط IMANAZADI مشاهده تاپیک
    بالایی برای زمانی که موس حرکت روی کنترل دارد واین هم برای زمانی که با کیبرد یا موس کنترل فوکوس میگیرد


    private void Form1_Load (object sender , EventArgs e)
    {
    foreach (Control ctrl in this.Controls)
    {
    if (ctrl is Button)
    {

    ctrl.GotFocus += new EventHandler(ctrl_GotFocus);
    ctrl.LostFocus += new EventHandler(ctrl_LostFocus);

    }
    }

    }

    void ctrl_LostFocus (object sender , EventArgs e)
    {
    Button btn = sender as Button;
    btn.BackColor = this.BackColor;
    }

    void ctrl_GotFocus (object sender , EventArgs e)
    {
    Button btn = sender as Button;
    btn.BackColor = Color.Salmon;
    }
    آقا دمت گرم حل شد مشکل ! مرسی

  10. #10
    کاربر دائمی آواتار Helmod
    تاریخ عضویت
    خرداد 1390
    محل زندگی
    تبــریــز
    پست
    114

    نقل قول: کد عمومی برای تغییر ForColor در دکمه های یک فرم

    نقل قول نوشته شده توسط IMANAZADI مشاهده تاپیک
    بالایی برای زمانی که موس حرکت روی کنترل دارد واین هم برای زمانی که با کیبرد یا موس کنترل فوکوس میگیرد


    private void Form1_Load (object sender , EventArgs e)
    {
    foreach (Control ctrl in this.Controls)
    {
    if (ctrl is Button)
    {

    ctrl.GotFocus += new EventHandler(ctrl_GotFocus);
    ctrl.LostFocus += new EventHandler(ctrl_LostFocus);

    }
    }

    }

    void ctrl_LostFocus (object sender , EventArgs e)
    {
    Button btn = sender as Button;
    btn.BackColor = this.BackColor;
    }

    void ctrl_GotFocus (object sender , EventArgs e)
    {
    Button btn = sender as Button;
    btn.BackColor = Color.Salmon;
    }
    یه مشکلی پیش اومد !!! این کد توی فرم یک من کار کرد ، ولی الان همون کد رو توی فرم 2 کپی کردم تا دکمه های این فرم این مثل فرم یک هنگام فوکوس قرمز شن ، ولی کار نمیکنه ! یعتی اصلاً ارور هم نمیده و کار نمیکنه .

  11. #11
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    www
    پست
    741

    نقل قول: کد عمومی برای تغییر ForColor در دکمه های یک فرم

    دوست عزیز کپی نکن
    چون کد اولی زمانی اجرا میشه که فرم شماره 1 لود میشه و مابقی رویداد ها...
    برو تو فرم دومت و روی یه قسمت خالی از فرم که کنترلی نداره دوبار کلیک کن تا رویداد لود فرم در حالت کد باز بشه
    بعد کد زیر رو تو اون کپی کن

    foreach (Control ctrl in this.Controls)

    {

    if (ctrl is Button)

    {



    ctrl.GotFocus += new EventHandler(ctrl_GotFocus);

    ctrl.LostFocus += new EventHandler(ctrl_LostFocus);



    }

    }


    بعد پایین رویداد form load این ها رو کپی کن
    داخل رویداد فرم لود نه ها ، بعد از رویداد فرم لود

    void ctrl_LostFocus (object sender , EventArgs e)

    {

    Button btn = sender as Button;

    btn.BackColor = this.BackColor;

    }



    void ctrl_GotFocus (object sender , EventArgs e)

    {

    Button btn = sender as Button;

    btn.BackColor = Color.Salmon;

    }

تاپیک های مشابه

  1. تغییر کلی در کنترل های روی فرم
    نوشته شده توسط king ag در بخش برنامه نویسی در 6 VB
    پاسخ: 9
    آخرین پست: دوشنبه 07 شهریور 1390, 08:36 صبح
  2. مبتدی: کارنکردن دکمه های ساب فرم
    نوشته شده توسط m0rteza2 در بخش Access
    پاسخ: 1
    آخرین پست: دوشنبه 01 فروردین 1390, 21:14 عصر
  3. دکمه های خود فرم
    نوشته شده توسط omid-vbAuto در بخش VB.NET
    پاسخ: 10
    آخرین پست: دوشنبه 15 آذر 1389, 19:04 عصر
  4. تغییر فونت همه آبجکت های روی فرم
    نوشته شده توسط sajjad_kochekian در بخش Access
    پاسخ: 6
    آخرین پست: سه شنبه 02 شهریور 1389, 13:40 عصر
  5. پیشنهاد برای تغییر نام زیر انجمن های J2EE, J2SE و J2ME
    نوشته شده توسط sokoot در بخش برنامه‌نویسی جاوا
    پاسخ: 4
    آخرین پست: دوشنبه 21 فروردین 1385, 21:50 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •