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#region DllImport[DllImport("User32.dll")]static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);[DllImport("User32.dll")]static extern bool GetCursorPos(out Point lpPoint);[DllImport("User32.dll")]static extern int TrackPopupMenu(IntPtr hMenu, uint uFlags, int x, int y, int nReserved, IntPtr hWnd, out Rectangle prcRect);[DllImport("User32.DLL")]public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);#endregionprivate void button1_Click(object sender, EventArgs e)...{ Point vPoint; Rectangle vRect; GetCursorPos(out vPoint); SendMessage(Handle, WM_SYSCOMMAND, TrackPopupMenu( GetSystemMenu(Handle, false), TPM_RETURNCMD | TPM_LEFTBUTTON, vPoint.X, vPoint.Y, 0, Handle, out vRect), 0);}