C# 如何在启用无边界形式的移动性后进行OnClick事件
我有一个无边界的形式,我想是可移动的。为了做到这一点,我使用了。但在我这样做之后,我注意到当我的表单C# 如何在启用无边界形式的移动性后进行OnClick事件,c#,winforms,events,click,drag,C#,Winforms,Events,Click,Drag,我有一个无边界的形式,我想是可移动的。为了做到这一点,我使用了。但在我这样做之后,我注意到当我的表单Form1被单击时,我的Click事件不再被激活。如果您(使用SendMessage)说鼠标向下(WM\u nclu buttondown)位于标题(HT\u Caption)或WM\u inchittest)中,我如何同时拥有移动无边框表单的功能和激活功能form1\u Click()onclick?返回IntPtr(2)=HTCAPTION,则鼠标事件不再指向窗体。您可以使用其他答案之一,使用
Form1
被单击时,我的Click
事件不再被激活。如果您(使用SendMessage)说鼠标向下(WM\u nclu buttondown
)位于标题(HT\u Caption
)或WM\u inchittest
)中,我如何同时拥有移动无边框表单的功能和激活功能form1\u Click()
onclick?返回IntPtr(2)
=HTCAPTION
,则鼠标事件不再指向窗体。您可以使用其他答案之一,使用MouseDown和MouseMove事件。顺便说一句,您不需要PInvokeReleaseCapture()
,可以设置this.Capture=false代码>,同样的事情。@Jimi是jay_t55吗?答案有效吗?是的,这是可能的方法之一。我假设您想将表单移动到单击它的任何位置,这样您就不会有一个虚假的标题栏。@Jimi如果我想单击表单中的某个特定位置以移动它(而所有其他位置都不具备该功能),这可能吗?我知道这不是问题的一部分,但我只是试着去做,当然没有成功。您可以使用另一个控件(例如标签)并处理此控件的MouseDown
,MouseMove
事件。或者,您可以将区域定义为矩形,并使用该方法确定当前鼠标位置是否包含在此区域中。