если в C # вы создаете Windows UserControl, «дочерние» элементы управления этого UserControl предоставляются через коллекцию «Controls».То есть потребитель вашего пользовательского элемента управления может обратиться к коллекции элементов управления и получить доступ к внутренним элементам управления.
Существует ли способ разделить такую конструкцию так, чтобы потребитель не мог получить доступ к чему-либо, что не былоявно предоставлен разработчиком UserControl?
Пример: у меня есть пользовательский элемент управления, который внутри имеет два элемента управления TextBox.Потребитель моего UserControl может написать следующее:
MyControl1.Controls[0].Enabled = false;
Есть ли способ (например), чтобы свойство «Controls» возвращало пустую коллекцию, чтобы потребитель не мог возиться с внутренней работойпользовательский элемент управления?
Казалось бы, разумно, что UserControl должен предоставлять практически все свойства, которые будет предоставлять «элемент управления», но не коллекции, которые предоставляют доступ к его внутренней работе.
Спасибо, Росс