اجرای کد زمانی که رنگ دکمه (botton) تغییر کرد
سلام دوستان
من یه برنامه دارم که رنگ دکمه با کلیک یا با برنامه تغییر می کنه من می خوام زمانی که رنگ دکمه تغییر کرد کدی اجرا بشه
مثلا در textBox داریم که TextChanged زمانی که متن کادر تغییر کرد اجرا بشه
من چیزی شبیه به این می خوام
botton1_backColorChange
نقل قول: اجرای کد زمانی که رنگ دکمه (botton) تغییر کرد
نقل قول:
نوشته شده توسط
tahamoqaddam
سلام دوستان
من یه برنامه دارم که رنگ دکمه با کلیک یا با برنامه تغییر می کنه من می خوام زمانی که رنگ دکمه تغییر کرد کدی اجرا بشه
مثلا در textBox داریم که TextChanged زمانی که متن کادر تغییر کرد اجرا بشه
من چیزی شبیه به این می خوام
botton1_backColorChange
هست، و دقیقا اسمش همونه که میگید.
private void Form1_Load(object sender, EventArgs e)
{
button1.BackColorChanged += Button1_BackColorChanged;
}
private void Button1_BackColorChanged(object sender, EventArgs e)
{
MessageBox.Show("BackColor changed!");
}
نقل قول: اجرای کد زمانی که رنگ دکمه (botton) تغییر کرد
نقل قول:
نوشته شده توسط
tahamoqaddam
سلام دوستان
من یه برنامه دارم که رنگ دکمه با کلیک یا با برنامه تغییر می کنه من می خوام زمانی که رنگ دکمه تغییر کرد کدی اجرا بشه
مثلا در textBox داریم که TextChanged زمانی که متن کادر تغییر کرد اجرا بشه
من چیزی شبیه به این می خوام
botton1_backColorChange
واقعا یک بار چیزی که توی ذهنتون اومده رو جستجو یا امتحان نکردید؟ :متعجب::متعجب::متعجب:
نقل قول: اجرای کد زمانی که رنگ دکمه (botton) تغییر کرد
سلام خیلی ممنون
اتفاقا خودم حدس زدم و امتحان کردم ولی نشد پیام دادم برم دوباره امتحان کنم
نقل قول: اجرای کد زمانی که رنگ دکمه (botton) تغییر کرد
دوست عزیز من اینو نوشتم کار نمی کنه
نقل قول: اجرای کد زمانی که رنگ دکمه (botton) تغییر کرد
نقل قول:
نوشته شده توسط
tahamoqaddam
دوست عزیز من اینو نوشتم کار نمی کنه
کدی که نوشتید رو باید بنویسید تا ایراد در کدتون مشخص بشه، در BackColorChanged که دنبال ایراد نمی گردیم. نمیشه که مشخصه BackColor کار بکنه ولی BackColorChanged کار نکنه.
نقل قول: اجرای کد زمانی که رنگ دکمه (botton) تغییر کرد
the king عزیز درست شد فقط یه سوال دارم
button1.BackColorChanged += Button1_BackColorChanged;
در فرم لود چه عملی انجام میده من اینو ننوشته بودم کار نمی کرد ولی الان که نوشتم داره کار می کنه بازم ممنون
نقل قول: اجرای کد زمانی که رنگ دکمه (botton) تغییر کرد
نقل قول:
نوشته شده توسط
tahamoqaddam
the king عزیز درست شد فقط یه سوال دارم
button1.BackColorChanged += Button1_BackColorChanged;
در فرم لود چه عملی انجام میده من اینو ننوشته بودم کار نمی کرد ولی الان که نوشتم داره کار می کنه بازم ممنون
در #C ما رخداد ها رو وصل می کنیم به یک متد، تا هر وقت رخداد اتفاق می افته اون متد اجرا بشه. در برخی جاها ویژوال استدیو کدی که این اتصال رو انجام میده مخفی نگه میداره ولی اگر دنبالش بگردید میبینید که هست.
شما در کد کلاس فرم تون یک متد دارید به اسم Button1_BackColorChanged، که میتونست اسمش هر چیز دیگری هم باشه. لازم نبود در اسمش حتما Button1 یا BackColorChanged بیاد. میتونست اسمش Apple باشه.
این متد به خودی خود هیچ ارتباطی با Button1 و Button1.BackColorChanged نداره، مگر اینکه به اون رخداد BackColorChanged وصل بشه. برای وصل کردن یک متد به یک رخداد، دو راه وجود داره. یک راه اینه در پنجره Properties اون
رخداد رو پیدا کنید و متد مورد نظر رو برای مقدارش مشخص کنید، یا راه دوم اینه که مثل همین کد =+ که من نوشته بودم خودتون دستی با کد نویسی این اتصال رو انجام بدید. در هر دو صورت کد این اتصال نوشته میشه،
ولی ممکنه در جایی نوشته بشه که در حالت عادی نمی بینید، یعنی در کد Designer یک فرم.
واقعیت اینه که حتی وقتی شما موقع طراحی یک فرم روی یک دکمه دوبار کلیک می کنید و متدی مثل button1_Click بصورت خودکار ایجاد میشه و ظاهرا شما کاری برای اتصالش انجام نمیدید، در کد Form1.Designer.cs که ویژوال استدیو کدهاشو خودکار می نویسه
یک سطر کدی شبیه به این هست :
this.button1.Click += new System.EventHandler(this.button1_Click);
که خلاصه تر اش که تفاوتی هم در عملکرد نداره میشه :
this.button1.Click += this.button1_Click;
اگه این سطر وجود نداشت، کلیک کردن روی button1 منجر به اجرا شدن button1_Click نمیشد چون button1_Click فقط یک اسم برای متد ئه، هیچ اطلاعات بیشتری نمیده.