这是一个Windows Forms / .Net C#问题。我有一个没有边框的窗口,其透明键和背景颜色使其完全透明。 在窗口内是一些用户控件。我想移动这个窗口。我知道如何在父窗口上做到这一点,但我的问题是子控件是唯一可见且可单击的内容。问题是:如何将某些消息传递给父级,以便当鼠标右键按下并在任何一个子控件上移动时,父级可以移动?或者你可以建议另一种方法吗?谢谢帮助。- Mark
/// <summary>
/// The event that you will throw when the mouse hover the control while being clicked
/// </summary>
public event EventHandler MouseRightClickedAndHoverChildControl;
接下来,所有家长需要做的就是订阅这些事件并进行操作,以移动家长:
ChildControl.MouseRightClickedAndHoverChildControl += OnMouseHoverChildControl;
private void OnMouseHoverChildControl(object sender, EventArgs e)
{
//do foo...
}
case 0x020A: // WM_MOUSEWHEEL
case 0x020E: // WM_MOUSEHWHEEL
if (this.ScrollBars == ScrollBars.None && this.Parent != null)
m.HWnd = this.Parent.Handle; // forward this to your parent
base.WndProc(ref m);
break;
default:
base.WndProc(ref m);
break;
PointToScreen
,然后PointToScreen
) - SLaks