PDA

View Full Version : سوال: در مورد Context menu strip



orca13
سه شنبه 12 اردیبهشت 1391, 20:49 عصر
سلام
دوستان من میخوام با چپ کلیک روی یه button منو زیر اون باز بشه.
میشه راهنمایی کنید چجوری این کار رو بکنم.
ممنون

Mahmoud.Afrad
سه شنبه 12 اردیبهشت 1391, 21:55 عصر
از تولباکس یک contextMenuStrip به فرم اضافه کنید. آیتمها و کدهای مورد نیاز رو به منو اضافه کنید .
روی باتن کلیک کنید و خاصیت contextMenuStrip دکمه رو برابر با منوی مورد نظر قرار بدید. اختصاص منو برای همه کنترل ها به همین شکل هست.

orca13
سه شنبه 12 اردیبهشت 1391, 22:12 عصر
ممنون از راهنماییت، اما اونجوری با راست کلیک منو باز میشه، اما من میخوام با چپ کلیک باز بشه

Mahmoud.Afrad
سه شنبه 12 اردیبهشت 1391, 23:16 عصر
به این صورت:


private void button1_Click(object sender, EventArgs e)
{
contextMenuStrip1.Show(MousePosition);
}

orca13
چهارشنبه 13 اردیبهشت 1391, 09:12 صبح
ممنون، حالا یه مورد دیگه.
من این کد رو نوشتم
int x, y;
x = MousePosition.X;
y = MousePosition.Y;
contextMenuStrip1.Show(x - 125, y + 8);
اما منو با توجه به اینکه ماوس کجا هست (روی فضای button) منو یه جای ثابت نمایش داده نمیشه.
آیا راه حلی هست؟

من خواستم با توجه به سایز فرم این کار رو بکنم، باز هم نشد.
ممنون میشم راهنمایی کنید.

Mahmoud.Afrad
چهارشنبه 13 اردیبهشت 1391, 15:25 عصر
میتونید نسبت به مکان باتن این کار رو انجام بدید


private void button4_Click(object sender, EventArgs e)
{
int x, y;
x = button4.Location.X;
y = button4.Location.Y;
contextMenuStrip1.TopLevel = false;
contextMenuStrip1.Parent = this;
contextMenuStrip1.Show(x , y+25 );
}

orca13
چهارشنبه 13 اردیبهشت 1391, 18:09 عصر
فقط ی مشکل هست، تا یکی از گزینه های منو رو کلیک نکنی، منو ناپدید نمیشه.
چکار کنم؟

Mahmoud.Afrad
چهارشنبه 13 اردیبهشت 1391, 18:24 عصر
به صورت زیر عمل کنید:


private void button4_Click(object sender, EventArgs e)
{
int x, y;
x = this.Location.X + button4.Location.X;
y = this.Location.Y + button4.Location.Y;
contextMenuStrip1.Show(x , y+55 );
}

alexmcse
پنج شنبه 14 اردیبهشت 1391, 12:47 عصر
سلام
(private void button1_MouseDown( object sender , MouseEventArgs e
}

;(( contextMenuStrip1.Show (button1 ,new Point (10,50)

{

lenux4
شنبه 16 اردیبهشت 1391, 10:04 صبح
دوست عزیز دکمه ای که شما نیاز داری چیزی نیست که به سادگی بشه با بدست اوردن موقعیت مکان نما ایجاد کرد بت پیشنهاد می کنم سری به این سایت معروف بزنی و در قسمت جستجو دکمه مورد نظر و کدشو پیدا میکنی یکم سرم شلوغه بتونم خودم حتما برای پیداش میکنم http://http://www.codeproject.com/

lenux4
شنبه 16 اردیبهشت 1391, 10:16 صبح
عزیزم پیداش کردم منتهی کامپوننته امیوارم بدردت بخوره http://www.codeproject.com/KB/shell/windowsribbon05/windowsribbon05_demo.zip

orca13
شنبه 23 اردیبهشت 1391, 21:56 عصر
از همه ممنون، با همون شیوه ای که mafaman2003 عزیز گفتن مشکلم حل شد!

a_kardoost
یک شنبه 10 دی 1391, 15:44 عصر
سلام ممنون از همتون به خاطر جوابهای متفاوت خوبی که برای این تاپیک دادین .واقعا استفاده کردم:لبخندساده: