PDA

View Full Version : اختصاص اندیس به button و دیگر کنترل ها



new-programer
شنبه 05 آذر 1390, 15:14 عصر
سلام دوستان
من امروز داشتم برای برنامه ی دوز یه متد می نوشتم که با دریافت ۳ مقدار i,j,button که button شماره ی دکمه ای که روش کلیک می شه است . رنگ اون دکمه تغییر کنه ولی مشکلی که دارم اینه که نمی تونم اندیس به button ها اختصاص بدم . به عنوان مثال باید گفت: Button9.BackColor=System.Drawing.Color.Blue; ولی مشکل اینجاس که تو متد من نمی تونم بگم فلان دکمه؟!

mmd2009
شنبه 05 آذر 1390, 16:22 عصر
با سلام

اگر میشه بگید چطوری شما متد رو صدا میزنید ؟ یعنی روی دکمه کلیک میکنید و متد رو صدا میزنید ؟ اگر اینطوریه که هیچی سادست ولی اگر روش دیگه ای هست بگید که ما اگر قرار باشه کمکی بکنیم بگیم طبق چه روشی شما نیاز دارید بهتون کمک بشه

موفق باشید

new-programer
شنبه 05 آذر 1390, 16:23 عصر
با کلیک بر روی هر دکمه متد رو صدا می زنم.

mmd2009
شنبه 05 آذر 1390, 16:44 عصر
خب در این شرایط که نیازی به اندیکس ندارید کافیه به این صورت عمل کنید :


private void button1_Click(object sender, EventArgs e)
{
SetColor(button1);
}

private void button2_Click(object sender, EventArgs e)
{
SetColor(button2);
}

private void SetColor(Button sender)
{
sender.BackColor = Color.Aqua;
}


ارگومان های ورودی خودشون دکمه هایی هستند که باید تغییرات روشون انجام بشه

موفق باشید

new-programer
شنبه 05 آذر 1390, 17:08 عصر
دوست عزیز ممنون ولی یه مشکل! شما ! تا جایی که من فهمیدم شما یه متد جدا برای این کار تعریف کردین. ولی من می خوام این عمل یکی از دستورات متد من باشه آیا می شه این کار رو کرد؟ مثلا بگم

private void (int i,int j, button sender)
sender.backcolor=cloro.aqua;

آیا این روش جواب می ده؟!

mmd2009
شنبه 05 آذر 1390, 17:17 عصر
بله جواب میده. مشکلی نداره.

new-programer
شنبه 05 آذر 1390, 17:22 عصر
بسیار ممنون فقط اگه می شه بگین این sender اینجا دقیقا چی کارس؟ْ

mmd2009
شنبه 05 آذر 1390, 17:25 عصر
sender همون دکمه ی شماست. که به صورت ارگومان به متد وارد شده.