我有一个Windows窗体用户控件,它(由于与此问题无关的各种原因)在设计器中公开,非常类似于拆分面板中的面板。除了拖动控件之外,大多数一切都很好用。子控件由用户控件创建,它不接受新的子控件。目的是仅允许编辑预定义子项的属性。
由于控件允许设计子控件,因此也可以在设计器中选择它们(这是一件好事,我不想更改它)。但是,它们不能也不应该单独移动。
我想要发生的是,当在设计器中拖动子控件时,拖动实际上会移动父控件。
我一直在浏览控件设计人员的文档,但没有任何简单或明显的信息。
答案 0 :(得分:0)
试试这个并告诉我会发生什么:
在这个设计器中,在initialize方法覆盖中写下这个:
IComponentChangeService changeService = this.GetService(typeof(IComponentChangeService)); changeService.ComponentRemoved + = new ComponentEventHandler(changeService_ComponentRemoved);
现在,您可以放置有关删除控件时发生的事情的逻辑。请记住,不只是从用户控件中删除的控件将触发此事件。你必须检查它,你也不必忘记ComponentChanging和ComponentChanged事件,以使思考在设计时工作正常。