代码之家  ›  专栏  ›  技术社区  ›  BCS

如何在winforms应用程序中单击和拖动

  •  1
  • BCS  · 技术社区  · 15 年前

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

    MouseDown , MouseUp MouseMove 事件(有点像 what this guy shows ),但它们不会被调用(其中的断点不会被命中)

    我做错什么了?


    编辑:我不需要拖放,因为我不一定要拖放任何东西。我想要的是以下规格:

    • 创建没有控件的窗体
    • 设置一个x和y变量,每当它们更新时,都会打印到表单标题中
    • x>0 y>0

    根据埃里克的评论,我认为我是在错误的控制上与事件联系在一起。

    有没有办法(使用类似控件的设置)在一个地方捕获所有事件,而不管它们应该发送到什么位置? 或者有没有其他未受影响的事件被链接到父节点上呢?在我的情况下我会 从未

    2 回复  |  直到 15 年前
        1
  •  1
  •   Miroslav Zadravec    15 年前

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

        2
  •  -1
  •   Eric    15 年前

    this one

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