using System.Runtime.InteropServices; const uint TPM_LEFTBUTTON = 0 ; const uint TPM_RIGHTBUTTON = 2 ; const uint TPM_LEFTALIGN = 0 ; const uint TPM_CENTERALIGN = 4 ; const uint TPM_RIGHTALIGN = 8 ; const uint TPM_TOPALIGN = 0 ; const uint TPM_VCENTERALIGN = 0x10 ; const uint TPM_BOTTOMALIGN = 0x20 ; const uint TPM_RETURNCMD = 0x100 ; const uint WM_SYSCOMMAND = 0x0112 ; DllImport #regionDllImport[DllImport("User32.dll")]staticexternIntPtrGetSystemMenu(IntPtrhWnd,boolbRevert);[DllImport("User32.dll")]staticexternboolGetCursorPos(outPointlpPoint);[DllImport("User32.dll")]staticexternintTrackPopupMenu(IntPtrhMenu,uintuFlags,intx,inty,intnReserved,IntPtrhWnd,outRectangleprcRect);[DllImport("User32.DLL")]publicstaticexternintSendMessage(IntPtrhWnd,uintMsg,intwParam,intlParam);#endregion private void button1_Click( object sender,EventArgse) ... {PointvPoint;RectanglevRect;GetCursorPos(outvPoint);SendMessage(Handle,WM_SYSCOMMAND,TrackPopupMenu(GetSystemMenu(Handle,false),TPM_RETURNCMD|TPM_LEFTBUTTON,vPoint.X,vPoint.Y,0,Handle,outvRect),0);}