防止托管Windows窗体设计器上的某些元素丢失

时间:2014-03-28 18:28:45

标签: c# .net winforms drag-and-drop design-time

如何阻止将某些对象放到托管的WinForms设计器(System.Windows.Forms.Design)中的容器控件上?

到目前为止,我只能通过提供我自己的ParentControlDesigner子类来阻止它,它会覆盖OnDragEnter并在满足条件时设置e.Effect = DragDropEffects.None,但这有几个问题:

  1. 大多数容器都有自己的设计器子类,迫使我复制大量代码
  2. 某些设计师(例如PanelDesigner)是内部的,无法进行子类化
  3. 有没有办法在单个位置控制拖放或至少不扩展每个可能的设计师(可能以某种方式使用System.Windows.Forms.Design.Behavior)?

0 个答案:

没有答案