此时,我几乎从不想再设计具有丰富设计时支持的控件。那说......
我已经覆盖了SnapLines
- 派生类中的ControlDesigner
属性,以便从我的控件的子控件中手动转发各种快照线 - 文本基线(粉红色)从标签和组合框;文本插入符号从标签;组合框中的顶部,底部,左侧和右侧的线条。当控件本身在窗体上移动以及其他控件在其周围移动时,这些捕捉线会激活。
我需要的是能够告诉设计师激活快照线,然后在我进行内部移动或调整底层控件的大小时停用它们。
我的组合框可以通过我的控件设计器中OnMouseDragBegin
,OnMouseDragMove
和OnMouseDragEnd
的覆盖来调整大小。我正在寻找的神奇子弹是我可以在Begin中调用的东西,告诉设计师在End中显示捕捉线和某些东西以告诉它停止。
如果人们没有为彼此或外部控件显示对齐线,那么允许人们在设计时调整内部控件并调整它们是没用的。
与这样的东西一样,搜索起来非常困难。我在一个论坛上发现了一个帖子,有人问这个确切的问题(当然)没有回复。就是这样。
显然,当/如果它们被显示时,实际上捕捉到捕捉线的问题仍然存在。能够看到它们将是一个不错的开始。
有什么想法吗?
答案 0 :(得分:1)
做你想做的事情的最好方法是创建一个Design Surface MSDN Reference
我已经使用它为我的应用程序创建自己的设计表面,以便客户可以自定义表单。
希望这有帮助,
Johan J v Rensburg