PDA

View Full Version : محل قرار گیری contextmenu



hojjat_gh
پنج شنبه 28 شهریور 1387, 22:48 عصر
با سلام
دوستان من میخوام زمانی که روی یک دکمه راست کلیک میکنم contextmenu
نمایش داده شود که کدهاش رو هم به شکل زیر نوشتم :


privatevoid button2_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
this.contextMenuStrip1.Show(button2, e.Location);
}
}


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

Amir Oveisi
پنج شنبه 28 شهریور 1387, 23:01 عصر
دوست عزیز برای این کار اینطور عمل کنید:
1- یه کنترل ContextMenuStrip رو به فرمتون اضافه کنید.
2- property یه button‌تون به نام ContxtMenuStrip رو برابر با منویی که ایجاد کردین بذارین.
3- ENJOY!

موفق باشید
jooje

hojjat_gh
جمعه 29 شهریور 1387, 05:51 صبح
ممنونم جناب bermooda ولی من با ایجاد contextmenu بعد از راست کلیک مشکلی ندارم (چون کدهای پست 1 این کاررو میکنن)اما منظور من نمایش منو بود چون کدهای پست 1 و روش خودتون رو اگه ببینید بعد از راست کلیک روی دکمه اون منو در زیرو سمت چپ دکمه قرار میگیره ولی من میخوام این منو در زیر و سمت راست دکمه قرار بگیره (مثل راست کلیک ویندوز)
ولی چطوری؟

hojjat_gh
جمعه 29 شهریور 1387, 14:04 عصر
به شکل واضح تر منو در سمت راست کرسر قرار بگیره

Amir Oveisi
جمعه 29 شهریور 1387, 14:05 عصر
آیا روشی که بنده عرض کردم رو امتحان کردید؟ آیا باز هم همان مشکل را داشت؟؟

hojjat_gh
جمعه 29 شهریور 1387, 14:35 عصر
جناب bermooda ممنون که کمک کردید من روش شما رو هم امتحان کردم ولی همون مشکل رو داشت ولی بالاخره کدش رو بدست اوردم این هم کدش برا دوستانی که میخوان استفاده کنند:


private void button2_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
this.contextMenuStrip1.Show(button2,e.X+110,e.Y);
}
}

البته این کد برای یک باتنه ولی فکر کنم برای ابجکتهای دیگه هم میشه استفاده کرد

Amir Oveisi
جمعه 29 شهریور 1387, 14:47 عصر
من فکر کردم میخواین هرجا که موس هست اونجا ایجاد بشه منو.
ببخشید ظاهرا صورت سوالتون رو درست متجه نشده بودم. :لبخند ساده:

موفق باشید
jooje