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事件。顺便说一句,您不需要PInvoke
ReleaseCapture()
,可以设置
this.Capture=false,同样的事情。@Jimi是jay_t55吗?答案有效吗?是的,这是可能的方法之一。我假设您想将表单移动到单击它的任何位置,这样您就不会有一个虚假的标题栏。@Jimi如果我想单击表单中的某个特定位置以移动它(而所有其他位置都不具备该功能),这可能吗?我知道这不是问题的一部分,但我只是试着去做,当然没有成功。您可以使用另一个控件(例如标签)并处理此控件的
MouseDown
MouseMove
事件。或者,您可以将区域定义为矩形,并使用该方法确定当前鼠标位置是否包含在此区域中。