PDA

View Full Version : سوال:چطوری نام شی کلیک شده رو بدونم؟



صباح فتحی
یک شنبه 10 مرداد 1389, 15:59 عصر
سلام...
یه دکمه رو فرم دارم میخام با کلیلک روی اون مقدار اسم خودشو رو عوض کنه!(بدون اینکه اسم کنترل رو بنویسم)چیکار بایدکرد؟

mahdi_7610
یک شنبه 10 مرداد 1389, 16:20 عصر
private void button1_Click(object sender, EventArgs e)
{
button1.Text = "Change";
}

صباح فتحی
یک شنبه 10 مرداد 1389, 16:23 عصر
عزیزم button1 رو نمیخوام بنویسم! میخام خودش اون اسم رو بهم بده..

MSN_Issue
یک شنبه 10 مرداد 1389, 16:30 عصر
اینو توی رویداد کلیکش بنویسید .

((Button)sender).Name = "YourName";

صباح فتحی
یک شنبه 10 مرداد 1389, 16:37 عصر
اینو توی رویداد کلیکش بنویسید .

((Button)sender).Name = "YourName";
لطف کردید...دقیقا همون چیزی بود که میخاستم

Masoome_das
یک شنبه 10 مرداد 1389, 19:56 عصر
اینو توی رویداد کلیکش بنویسید .

کد:
((Button)sender).Name = "YourName

من این کار را کردم ولی هیچ اتفاقی نیفتاد

MSN_Issue
یک شنبه 10 مرداد 1389, 22:39 عصر
من این کار را کردم ولی هیچ اتفاقی نیفتاد
انتظار داشتید چه اتفاقی بیافته ؟!!:متفکر:

mmd2009
یک شنبه 10 مرداد 1389, 22:59 عصر
من این کار را کردم ولی هیچ اتفاقی نیفتاد

با سلام

اتفاقی میفته

ولی چون شما تغییر نام رو حس نمی کنید پس حتما باید برای اینکه متوجه بشید یک مسیج باکس بذارید




((Button)sender).Name = "YourName";
MessageBox.Show(this.button1.Name);

صباح فتحی
دوشنبه 11 مرداد 1389, 13:27 عصر
من این کار را کردم ولی هیچ اتفاقی نیفتاد

معصومه خانم ولی من کلیک کردم و تکست رو عوض کرد
یک دکمه بزار و دقیقا همین کدرو توش کپی کنی کارمیکنه


private void button2_Click(object sender, EventArgs e)
{
((Button)sender).Text = "Hi";
}

vandermond
دوشنبه 11 مرداد 1389, 14:52 عصر
معصومه خانم ولی من کلیک کردم و تکست رو عوض کرد
یک دکمه بزار و دقیقا همین کدرو توش کپی کنی کارمیکنه


private void button2_Click(object sender, EventArgs e)
{
((Button)sender).Text = "Hi";
}


دوست عزيز توي كد قبلي Name كنترل عوض ميشد كه نمود ظاهري نداره.
براي كد جديدي كه گفتيد ولي نمود ظاهري داره (Text) . در كل فكر ميكنم جناب Masoome_das مشكل رو فهميده باشه.

Masoome_das
دوشنبه 11 مرداد 1389, 15:16 عصر
دوست عزيز توي كد قبلي Name كنترل عوض ميشد كه نمود ظاهري نداره.
براي كد جديدي كه گفتيد ولي نمود ظاهري داره (Text) . در كل فكر ميكنم جناب Masoome_das مشكل رو فهميده باشه.

این کد نه Text , Name مربوط به TextBox را حتی در موقع اجرا عوض نمی کنه من این کار را BreakPoint انجام دادم. من انتظار داشتم که بعد اجرای این دستور TextBox.Name تغییر کنه ولی این طور نبود.
من نمی دونم شما قصد تغییر چی را دارید؟

vandermond
دوشنبه 11 مرداد 1389, 15:27 عصر
این کد نه Text , Name مربوط به TextBox را حتی در موقع اجرا عوض نمی کنه من این کار را BreakPoint انجام دادم. من انتظار داشتم که بعد اجرای این دستور TextBox.Name تغییر کنه ولی این طور نبود.
من نمی دونم شما قصد تغییر چی را دارید؟
اين كد رو اگه بزاري نميشه عوض نشه.

((Button)sender).Text = "........";
شما كجا مينويسي اصلا؟ (بايد توي رويداد كليك يك باتن بنويسيش)
خطا ميگيره برات؟

Masoome_das
دوشنبه 11 مرداد 1389, 15:58 عصر
((Button)sender).Name = "YourName";

من ای کد را در رویداد باتن نوشتم

vandermond
دوشنبه 11 مرداد 1389, 17:09 عصر
((Button)sender).Name = "YourName";

من ای کد را در رویداد باتن نوشتم
خب حالا مگه درست عمل نميكنه؟
لطف كن اين كد رو به جاش بزار كه راحت ببيني:

((Button)sender).Text = "........";


خیلی سختش کردین هاا

ببخشيد اگه من خوب توضيح نميدم. ولي جناب Masoome_das اصلا نميگه كجاش مشكل داره و ...
فكر ميكنم بحث از اين بيشتر ديگه الكي هستش. كد درسته.
براي Masoome_das هم اگه مشكلي داره، بايد بگه چه مشكلي و .... .

MSN_Issue
دوشنبه 11 مرداد 1389, 17:10 عصر
ببینید Masoome_das (http://barnamenevis.org/forum/member.php?u=155268) عزیز
از این کد(روش) وقتی استفاده میشه که شما یه تعداد زیادی کنترل ( حالا اینجا باتن ) توی پروژه-تون دارید .
یک موقعیت رو به عنوان مثلا عرض میکنم :
من توی یه پروژه یه Treeview داشتم که تحت شرایطی به node های اون اضافه میشه (طبیعتا new میکردمشون!)
حالا اگه میخواستم به ازای هر نود یه کانتکست منو هم new کنم که همنام همون نود باشه (با یه پیشوند) ، باید چیکار میکردم ؟!!!:چشمک: باید نام اون رو اینطوری ست می کردم !

صباح فتحی
دوشنبه 18 مرداد 1389, 18:10 عصر
این روش هم میشه:


(sender as Button).Text = "Hi";