我有一个 Windows 窗体用户控件,它(由于与此问题无关的各种原因)在设计器中公开,就像拆分面板中的面板一样。除了拖动控件之外,大多数东西都运行良好。子控件由用户控件创建,它不接受新的子控件。目的只是允许编辑预定义子项的属性。
由于控件允许设计子控件,所以也可以在设计器中选择(这是好事,我不想改这个)。但是,它们不能也不应该单独移动。
我想要发生的是,当在设计器中拖动子控件时,拖动实际上会移动父控件。
我一直在浏览有关控件设计器的文档,但没有出现任何简单或明显的内容。
我有一个 Windows 窗体用户控件,它(由于与此问题无关的各种原因)在设计器中公开,就像拆分面板中的面板一样。除了拖动控件之外,大多数东西都运行良好。子控件由用户控件创建,它不接受新的子控件。目的只是允许编辑预定义子项的属性。
由于控件允许设计子控件,所以也可以在设计器中选择(这是好事,我不想改这个)。但是,它们不能也不应该单独移动。
我想要发生的是,当在设计器中拖动子控件时,拖动实际上会移动父控件。
我一直在浏览有关控件设计器的文档,但没有出现任何简单或明显的内容。
试试这个,告诉我会发生什么:
在此设计器中,在初始化方法覆盖中写入:
IComponentChangeService changeService = this.GetService(typeof(IComponentChangeService)); changeService.ComponentRemoved += new ComponentEventHandler(changeService_ComponentRemoved);
您现在可以放置有关删除控件时发生的情况的逻辑。请记住,不仅从您的用户控件中删除的控件会触发此事件。您必须检查这一点,并且您不需要忘记 ComponentChanging 和 ComponentChanged 事件,以便在设计时使想法正常工作。