Единственная причина, по которой я могу думать, почему ваш код не работает, заключается в том, что ваш новый usercontrol находится в проекте, отличном от ваших элементов управления uc1 и uc2.Поля, которые представляют именованные элементы управления, имеют внутреннюю доступность и, следовательно, не доступны для других проектов.
По моему мнению, не делать эти поля закрытыми - не лучший выбор, и фактически динамическое создание полей вообще не являетсяхорошо.Попахивает мне историческими формами VB6 / VBA.
Я бы порекомендовал вам добавить в uc2 соответствующие свойства и методы, которые будут манипулировать uc1, а не позволять внешнему коду возиться с uc1 напрямую.
Если по какой-то причине вы не можете воспользоваться этим подходом, рассмотрите возможность размещения доступа к элементу управления в публичном свойстве.Также подумайте о создании интерфейса, который может реализовать uc1, содержащего все методы и свойства, к которым вы хотите иметь доступ, сделайте так, чтобы это открытое свойство возвращало этот интерфейс, а не тип uc1.