PDA

View Full Version : sender.tag



negar84
دوشنبه 22 آبان 1385, 16:51 عصر
سلام دوستان
کسی می دونه معادل این دو تا دستور در c# چیه ؟Sender.Tag و this.Handle
با تشکر فراوان

ARA
سه شنبه 23 آبان 1385, 18:42 عصر
اولی که خودشه intPtr هم بر میگدونه



this.Handle;

دومی کارش چیه ندیدمش

negar84
سه شنبه 23 آبان 1385, 20:23 عصر
خیلی ممنون ازاینکه جواب دادین
sender.tag را می گید کارش چیه؟ مثلا وقتی برای click چند تا button از یک تابع استفاده می کنیم sender.tag مشخص می کنه که در حین اجرا کدام یک از button ها فشرده شده اند ...
امیدوارم تونسته باشم خوب توضیح بدم ...
در مورد اولی هم توی کد من error می ده !!!!
متشکرم.

ARA
چهارشنبه 24 آبان 1385, 11:06 صبح
آهان واسه این کار میخوای

اگه دوتا button داشته باشی و از یک متد برای click آنها استفاده کنی متد زیر میتونه کمکت کنه تا بفهمی کدوم زده شده




private void button1_Click(object sender, System.EventArgs e)
{
MessageBox.Show(((Button)sender).Name);
}



باز اگه منظورت رو درست نفهمیدم بگو
--------------------
اولی هم کجا مشکل داره
error رو بگذار اینجا
یا بگو چیکار میخوای بکنی

SabaSabouhi
چهارشنبه 24 آبان 1385, 12:49 عصر
خیلی ممنون ازاینکه جواب دادین
sender.tag را می گید کارش چیه؟ مثلا وقتی برای click چند تا button از یک تابع استفاده می کنیم sender.tag مشخص می کنه که در حین اجرا کدام یک از button ها فشرده شده اند ...
امیدوارم تونسته باشم خوب توضیح بدم ...
در مورد اولی هم توی کد من error می ده !!!!
متشکرم.

سلام
دلیل خطا دادن اینه که Sender از جنس object هست که Tag نداره، شما باید از Casting استفاده کنید. یعنى اگه مثل مثال خودتون رویداد click رو براى چند button مى‌نویسید به این شکل عمل کنید.



Button myButton = (Button)Sender;
switch (myButton.Tag){
}



البته براى تشخیص این که کدام دکمه زده شده غیر از tag، روش دیگرى نیز وجود دارد. فرض کنیم که دکمه‌ى btnNew را در فرم تعریف کرده‌ایم مى‌توانید از روش زیر استفاده کنید.



if (myButton.equals( btnNew){
}


صبا صبوحى

negar84
چهارشنبه 24 آبان 1385, 22:34 عصر
سلام دوستان
از لطفی که می کنید و جواب می دین واقعا سپاسگزارم ....
من راه حل هاتون رو امتحان می کنم امیدوارم به نتیجه برسم
باز هم ممنون