2011-04-21 32 views
2

在这一点上,我几乎再也不想设计具有丰富的设计时支持控制。这就是说...手动激活/停用对齐线自定义控件

我已经重写了我的ControlDesigner派生类中的SnapLines属性,以便从控件的子控件中手动转发各种对接线 - 标签和组合框中的文本基线(粉红色)对齐;文本插入从标签捕捉;组合框的顶部,底部,左侧和右侧卡线。当控件本身在窗体上移动并且其他控件围绕它移动时,这些对齐线会激活。

我需要做的是告诉设计师,激活对齐线,然后解除他们,而我在做内部移动或底层控制的调整能力。

在我的控制设计器中,我的组合框可通过覆盖OnMouseDragBeginOnMouseDragMoveOnMouseDragEnd进行调整。我正在寻找的神奇的子弹是我可以调用的东西开始告诉设计师在End中显示捕捉线和其他东西,告诉它停止。

让人们调整和在设计时移动的内部控制是一种无用的,如果他们不显示对方或外部控制对齐线。

就像这样的东西,它是难以置信的难以搜索。我在论坛上发现了一篇帖子,有人问这个确切的问题(当然)没有回应。就是这样。

很明显,实际上对齐到/ /如果他们显示仍然存在的问题。能够看到他们将是一个不错的开始。

任何想法?

回答

1

做你想做什么待办事项,最好的办法是创建一个设计图面MSDN Reference

我用这个来创建自己的设计,表面为我的应用程序,使客户可以自定义表单。

希望这有助于

约翰Ĵv伦斯堡

+0

虽然我不知道这是否是_correct_答案,我不知道它是唯一一个说,我还没有碰到的东西我自己的调查。长期以来,我一直在等待其他答案,我会将其标记为一个。谢谢,约翰。 – Shibumi 2011-12-16 19:21:01