2008-10-30 9 views

ответ

-1

Set AllowDrop to false.

+0

Извините, dude, это не сработает. :( – Lalit 2008-10-30 11:42:34

+0

Извините, вам может потребоваться добавить более подробную информацию к вашей проблеме, а затем брату, откуда я сижу, чтобы это сделать. – Echostorm 2008-10-30 12:00:59

1

Если вы хотите ограничить типы элементов управления или количество элементов управления, которые вы можете добавить на панель, вы можете создать свой собственный подкласс панели и проверить тип управления или счетчик управления при перегрузке метода Controls.Add.

Редактирование: Перегрузка метода 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); 
     } 

    } 

}