Как я могу ограничить добавление элементов управления в панели в элементах управления C#? Я должен ограничить пользователя добавлением элементов управления на панели во время разработки.Ограничить добавление контроля на панели
0
A
ответ
-1
Set AllowDrop to false.
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);
}
}
}
Извините, dude, это не сработает. :( – Lalit 2008-10-30 11:42:34
Извините, вам может потребоваться добавить более подробную информацию к вашей проблеме, а затем брату, откуда я сижу, чтобы это сделать. – Echostorm 2008-10-30 12:00:59