1

我有一个简单的 winforms 应用程序,其中包含许多控件。我希望能够从表单上的任何位置单击并拖动并移动整套东西(平移)。我已经弄清楚了重新定位位。我仍然需要弄清楚的是如何绑定点击和拖动来更新我的偏移量。

到目前为止,我尝试的是在主窗体和事件中添加东西MouseDown(有点像这个人展示的东西),但它们没有被调用(它们中的断点不会被击中)MouseUpMouseMove

我究竟做错了什么?


编辑:我不是在寻找拖放,因为我不一定有任何东西可以拖放。我想要的将适用于以下规范:

  • 创建一个没有控件的表单
  • 设置一个 x 和 y 变量,当它们更新时打印到表单标题
  • 当用户单击并拖动表单上的任意位置时,x 和 y 会更新以反映指针的运动(单击并向下和向右拖动将导致x>0and y>0

根据 Eric 的评论,我认为我正在连接错误控件上的事件。

有没有办法(使用类似控件的设置)在一个地方捕获所有事件,而不管它们应该发送到什么地方?或者是否有任何其他未经处理的事件被链接到父母?就我而言,我永远不会关心事件发生了什么,所以这将是我想要得到的。

4

2 回答 2

1

你如何准确地处理鼠标事件?如果您有面板覆盖表单,则不会调用表单的鼠标事件。只有面板的鼠标事件会。

于 2009-06-26T20:43:15.120 回答
-1

网上有一些关于拖放的教程,比如这个

事件未触发的事实是不正常的。如果您对表单有控件,则应该挂钩这些控件的事件。另一种方法是在整个表单上设置一个透明面板来处理事件

于 2009-06-26T20:17:59.883 回答