private void TopRightClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { TopLevelWindow.ReleaseCapture(); _skinWindow.Parent.Activate(); _skinWindow.Parent.PostMessage(WindowMessages.Getsysmenu, IntPtr.Zero, MakeDWord(Cursor.Position.X, Cursor.Position.Y)); } }
private void ForceParentCommand(SystemCommands HitTest) { TopLevelWindow.ReleaseCapture(); _skinWindow.Parent.Activate(); //Parent.SendMessageTimeOut(WindowMessages.SysCommand, _ // New IntPtr(HitTest), _ // IntPtr.Zero, _ // SendMessageTimeOutFlags.Normal Or SendMessageTimeOutFlags.AbortIfHang, _ // 0, IntPtr.Zero) _skinWindow.Parent.PostMessage(WindowMessages.SysCommand, new IntPtr((int)HitTest), IntPtr.Zero); //using SendMessageTimeOut make hang when trying to close a window // and hangs the window on vista when moving so much because it causes the thread to hold until it return }
private void IconClick(object sender, MouseEventArgs e) { try { Debug.WriteLine("Icon Clicked"); TopLevelWindow.ReleaseCapture(); _skinWindow.Parent.Activate(); if (_skinWindow.IconControl1.VerticalAlignment == VerticalAlignment.left) { _skinWindow.Parent.PostMessage(WindowMessages.Getsysmenu, IntPtr.Zero, MakeDWord(_skinWindow.LeftBorder1.Left + _skinWindow.LeftBorder1.Width, _skinWindow.TopBorder1.Top + _skinWindow.TopBorder1.Height)); } else { _skinWindow.Parent.PostMessage(WindowMessages.Getsysmenu, IntPtr.Zero, MakeDWord(_skinWindow.TopBorder1.Left + (_skinWindow.TopBorder1.Width - _skinWindow.RightBorder1.Width), _skinWindow.TopBorder1.Top + _skinWindow.TopBorder1.Height)); } } catch (Exception) { } }
public static void ForceParentCommand(TopLevelWindow window, SystemCommands HitTest) { TopLevelWindow.ReleaseCapture(); window.Activate(); window.PostMessage(WindowMessages.SysCommand, new IntPtr((int)HitTest), IntPtr.Zero); }