Visual Studio 2010 C# 表单项目 - 拖放 - 最佳方法?

Posted

技术标签:

【中文标题】Visual Studio 2010 C# 表单项目 - 拖放 - 最佳方法?【英文标题】:Visual Studio 2010 C# Form Project - Drag and Drop - best method? 【发布时间】:2012-01-01 21:17:10 【问题描述】:

我的目标是创建一个应用程序,用户可以通过该应用程序将标签从选项卡式容器拖到某种形式的保存区域中 - 该区域具有标尺和基本网格。我已就此主题咨询过 Google,但教程似乎涉及在设计视图中拖放表单组件。

最后的目标是占据我的持有区域并将其转换为一个 .xml 文件 - 每个被删除的元素都有一个如下条目:

[拖动的组件名称][X坐标][Y坐标][其他参数]。

非常感谢您对这两个方面的任何帮助 - 这只是为了向同事演示。

【问题讨论】:

关于拖放 - 我试图设置一个容器来接受拖动 - 但我无法将任何标签设置为“可拖动” - 不知道如何进行真的......跨度> 在您的标签中,您需要处理鼠标事件。当您检测到控件被“拖动”时,您可以使用鼠标坐标在鼠标事件触发时更新标签的位置。这将导致标签控件随鼠标移动,即被拖动。 实际上使用 Label 控件是有问题的,它的行为就像在运行时的控件。它有一个父母,它不能同时有两个父母。通过拖动看起来像标签的东西来简化它,一个带有文本的矩形。或利用实际的 winforms 设计器:msdn.microsoft.com/en-us/magazine/cc163634.aspx 可能想要编辑您的问题/标签以更清楚地指定 WPF 或 WinForms。它可能会极大地影响任何提议的解决方案的性质。 【参考方案1】:

我认为你需要这样的东西:

http://msdn.microsoft.com/en-us/magazine/cc163871.aspx

此链接包含有关创建与 Visual Studio 表单设计器完全相同的表单设计表单的信息。与使用传统方法编写表单设计器相比,这样您可能需要处理的情况更少。

【讨论】:

欢迎来到 Stack Overflow!虽然这在理论上可以回答问题,it would be preferable 在此处包含答案的基本部分,并提供链接以供参考。

以上是关于Visual Studio 2010 C# 表单项目 - 拖放 - 最佳方法?的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2010 中带有 plsql 的 C# [关闭]

C# Visual Studio 2010 未开始调试

从 Visual Studio 2008 升级到 Visual Studio 2010 速成版

C#“向后”将 Visual Studio 2010 .csproj 项目转换为 2008? [复制]

Visual Studio 2010 Express C#中的“导航到”在哪里

在 Visual Studio 2010 中管理应用程序品牌