如何在自定义WinForms控件中限制客户端控件区域

时间:2008-12-17 17:57:24

标签: .net winforms layout controls

我有一个自定义控件,它使用我从ParentControlDesigner继承的设计器来允许删除子控件。我没有使用任何内部设计师,只是简单的单亲家伙。

此控件绘制“标题”,因此我尝试做三件事:

  1. 当设置为Top或Fill时,让子控件停靠在标题的底部而不是控件的顶部。

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

  3. 防止将控件拖到标题区域,期间(我觉得这可能无法实现)。

  4. (1)是最重要的 - 我知道这是可能的,因为我已经看到了其他控件。 (2)也将是一个重要的帮助。 (3)我不关心那么多,只是很高兴。

    是否有人能够指出我如何实施这些规则的正确方向,没有不得不求助于笨拙的子面板和InternalControlDesigner方法?

1 个答案:

答案 0 :(得分:0)

  

防止拖动控件   在标题区域,期间(我有一个   感觉这可能是不可能的)

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