【问题标题】:C# WinForms Move elements between panelsC# WinForms 在面板之间移动元素
【发布时间】:2011-05-28 13:30:25
【问题描述】:

我需要创建一个包含两个面板的表单: 1.目的地 2. 来源 在源面板上会有图片框。我需要能够用鼠标将它从源移动到目标面板。

我遇到了与面板的不同坐标有关的问题。

请帮忙提供建议或想法。

【问题讨论】:

  • 面板的 坐标应该无关紧要...您可以在事件中获得相对坐标。
  • 这个问题(太)宽泛了。最好从头开始,并说明你卡在哪里。
  • 同意亨克·霍尔特曼的观点。向我们展示您已经做过的事情,然后我们会尽力提供建议。

标签: c# .net winforms drag-and-drop


【解决方案1】:

移动这些控件需要更改它们的 Parent 属性。这并不容易,当用户用鼠标拖动时,没有好时机来做这件事。您还将获得面板剪辑控件的效果,您不能同时在两个面板上显示它,一个面板上的一半控件和另一个面板上的另一半。是的,您必须在更改父控件时更改控件的 Location 属性,否则它将跳转。

解决问题,不要使用两个面板。它只需要看起来像一个面板,通过在表单的 Paint 方法(或 OnPaint 覆盖,更好)中绘制一个来轻松完成。使用 e.Graphics.DrawRectangle 或 FillRectangle。

【讨论】:

  • ...或者使用 ControlPaint 类使它看起来更像一个面板。
猜你喜欢
  • 2015-10-21
  • 1970-01-01
  • 1970-01-01
  • 2015-05-04
  • 1970-01-01
  • 2020-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多