代码之家  ›  专栏  ›  技术社区  ›  Aaronaught

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

  •  1
  • Aaronaught  · 技术社区  · 16 年前

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

    此控件绘制一个“header”,因此我尝试执行三项操作:

    1. 当设置为“顶部”或“填充”时,让子控件停靠在页眉的底部而不是控件的顶部。

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

    3. 防止控件被拖到标题区域、句点(我觉得这可能不可能)。

    (1)是最重要的-我知道这是可能的,因为我见过其他的控制方法。(2)也是一个主要的帮助。(3)我不太在乎,如果有,那就太好了。

    有没有人能告诉我如何执行这些规则的正确方向? 没有 必须求助于笨拙的子面板和InternalControlDesigner方法?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Ilya    15 年前

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

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