2008-10-30 83 views

回答

-1

将AllowDrop设置为false。

+0

对不起,花花公子, 这将无法正常工作。 :( – Lalit 2008-10-30 11:42:34

+0

对不起,您可能需要为您的问题添加更多的细节,然后是我应该这样做的兄弟,我应该这样做。 – Echostorm 2008-10-30 12:00:59

1

如果您想限制可以添加到面板的控件类型或控件数量,您可以创建自己的面板子类,并在Controls.Add方法的重载中检查Control类型或Control count。

编辑:重载Controls.Add方法并不像我想象的那么容易,但是您可以创建一个新的类来扩展Panel类并重写OnControlAdded方法来检查已添加的控件的类型。像这样的东西应该工作:

class MyPanel : Panel 
{ 

    public MyPanel() 
    { } 

    protected override void OnControlAdded(ControlEventArgs e) 
    { 
     base.OnControlAdded(e); 

     if (!(e.Control is Label)) 
     { 
      MessageBox.Show("control " + e.Control.Name + " is not a label but a " + e.Control.GetType().ToString()); 
      Controls.Remove(e.Control); 
     } 

    } 

}