2008-12-17 53 views
1

我有一个使用设计器的自定义控件,我从ParentControlDesigner继承来允许删除子控件。我没有使用任何内部设计师,只是简单单亲的东西。如何在自定义WinForms控件中限制客户端控制区

这种控制绘制一个“头”,所以我试图做三两件事:

  1. 有子控件停靠在头部,而不是控制的顶部底部,当设置为顶部或填充。

  2. 当使用鼠标拖动而不是控件的顶部时,有子控件捕捉到标题底部。

  3. 防止控件被拖到页眉区域,期间(我有一种感觉这可能是不可能的)。

(1)是最重要的 - 我知道这是可能的,因为我见过其他控件。 (2)也将是一个主要的帮助。 (3)我不在乎那么多,只是很高兴。

任何人都可以指出我在如何实施这些规则的正确方向,没有不得不求助于一个笨拙的子面板和InternalControlDesigner方法吗?

回答

0

防止被拖动 到首标区控制,周期(I有一个 感觉这可能是不可能的)

具有控制(控制本身,而不是设计者)覆盖Control.DisplayRectangle.get可能有助于限制其子女。