PDA

View Full Version : سوال: نمایش Item انتخابی از contexMenuStrip



solaleh
شنبه 30 شهریور 1387, 16:25 عصر
سلام
من یک contexMenuStrip دارم که میخواهم روی هرItem آن که کلیک میکنم، بتوانم text آن Item را در یک labelنمایش بدم.
من کد زیر را وارد می کنم:

label1.Text=e.ClickedItem.Text;

SMRAH1
شنبه 30 شهریور 1387, 17:36 عصر
یک متد معرفی کنید و تمام رویدادهای click ایتم های مختلف رو به اون متد متصل کنید.حالا توی متد مذکور کافیه بنویسید

label1.Text = ((control)sender).Text

solaleh
شنبه 30 شهریور 1387, 21:04 عصر
من اینم امتحان کردم، ولی نشد. اگر ممکنه بیشتر راهنمایی کنید.:متفکر:

bachebahal_1363
شنبه 30 شهریور 1387, 23:10 عصر
کد زیر رو در رویدار ContextMenuStripItem بنویس :


lable1.Text = ContextMenuStripItem .Text

SMRAH1
یک شنبه 31 شهریور 1387, 00:22 صبح
لطفا نموه کدتون رو بگذارید و مشخص کنید دقیقا مشکل کجاست تا شاید دقیقا متوجه موضوع شوم!!!

bachebahal_1363
یک شنبه 31 شهریور 1387, 15:19 عصر
این هم نمونه کد :

solaleh
یک شنبه 31 شهریور 1387, 20:03 عصر
من در15 contexMenustrip آیتم دارم که می خواهم روی هر کدام که کلیک می کنم یک اتفاق خاص بیفتد و نمی خوام که روی هر آیتم که کلیک می کنم یک رویداد جدا بنویسم. من از این رویداد و کد استفاده کردم:



private void contextMenuStrip2_Click(object sender, EventArgs e)
{
if (sender == (ContextMenuStrip))
{
contextMenuStrip2 = ((ContextMenuStrip)sender);


}
label2.Text = contextMenuStrip2.Items[0].ToString();
}

البته این فقط برای آیتم اول درست می شه.چون من نمی دونم Index از Item[Index] را باید چه جوری بدم تا از طریق اون بتونم به تمام آیتم های contextmenustrip دسترسی داشته باشم.

SMRAH1
دوشنبه 01 مهر 1387, 13:39 عصر
سلام

اینجا (http://barnamenevis.org/forum/showthread.php?t=123558#7)بحثی شده شبیه همین موضوع،فقط به جای contexMenustrip ، دکمه رادیویی بوده.در هر حال همان فر آیند را باید دنبال کنید (معرفی یک تابع کلی که شی صاحب رویداد را از روی نام یا متن تشخیص دهد،متصل کردن این متد به تک تک عناوین مورد نیاز)

solaleh
دوشنبه 01 مهر 1387, 14:37 عصر
دوستان از راهنماییتون ممنونم. بالاخره کد زیر جواب داد:


privatevoid contextMenuStrip2_ItemClicked_1(object sender, ToolStripItemClickedEventArgs e)
{
ToolStripItem ts = e.ClickedItem;
label1.Text = ts.Text;
}