Member 12712527 Ответов: 3

Как получить доступ к элементу C# programatcally..?


У меня есть пользовательский элемент управления, который я нарисовал на форме. Но я не могу получить доступ к элементам пользовательского элемента управления через код.
Эти элементы объявляются общедоступными на момент создания.
Пожалуйста, помогите мне получить доступ к этим элементам через код.

Что я уже пробовал:

UserControl1 u=новый UserControl1();
у.Метка1.Текст="к";

3 Ответов

Рейтинг:
8

Maciej Los

Я бы настоятельно рекомендовал прочитать это: Пользовательские элементы управления в Visual C# .NET[^]


Member 12712527

Большое спасибо...

Maciej Los

Всегда пожалуйста.

Рейтинг:
28

Dave Kreskowiak

Единственный код, который должен быть связан с элементами управления в UserControl, - это код в классе UserControl. Внешний код не должен заботиться или знать что - либо о составляющих элементах управления UserControl.

Если вам нужно манипулировать составляющими элементами управления UserControl, то UserControl должен предоставлять для этого открытые методы и свойства.

Если ваш пример, то UserControl должен предоставить свойство, которое устанавливает свойство Text Label1, что, кстати, является ужасным именем.


Member 12712527

Пользовательский элемент управления не имеет кода. Все элементы управления в нем должны управляться извне с помощью
код в форме. Как это сделать? ..

Dave Kreskowiak

Снова. Вы этого не сделаете. Я уже говорил вам, как это сделать правильно.

Member 12712527

Да, сэр, вы абсолютно правы.....она статична-менее переменное движение между классами..Большое вам спасибо за эту новую логику. Я действительно этого не знал....

Рейтинг:
16

OriginalGriff

Не делайте элементы управления общедоступными: это нарушает инкапсуляцию и, следовательно, принципы OOPs, а также означает, что дизайн вашего UserControl заблокирован в форме - он не может быть повторно использован.

Вместо этого взгляните на них:

Передача информации между двумя формами, Часть 1: Родитель-Ребенок[^]
Передача информации между двумя формами, Часть 2: Ребенок-Родитель[^]
Передача информации между двумя формами, Часть 3: Ребенок ребенку[^] Они основаны на форме, но это точно такой же процесс - и даже код - для родительской формы и ее дочернего элемента UserControl.