Я не совсем уверен, что понимаю вашу проблему. Похоже, вы хотите, чтобы пользовательский элемент управления "что-то делал" со своей родительской формой. Если это так, вы можете рассмотреть возможность добавления событий в UC, а затем обработать их в самой форме.
По сути, для продолжения вашего UC у вас будет событие, которое срабатывает при нажатии. Вы захотите справиться с этим в своей форме. Я не совсем уверен в синтаксисе из памяти, или я бы кое-что решил для вас с точки зрения кода. Но я думаю, что это тот путь, по которому ты захочешь. Думайте о своем UC как о любом другом элементе управления окнами. Если вы добавляете кнопку в форму, вы назначаете ей метод события. Сделайте то же самое с UC.
Я нашел это и подумал, что это может быть полезно. Прокрутите вниз, где говорится о UC и событиях.
http://www.akadia.com/services/dotnet_user_controls.html
Надеюсь, это поможет.
РЕДАКТИРОВАТЬ после новой информации от OP.
Вы можете объявить глобальную переменную внутри UC типа yourForm и затем установить эту переменную в ParentForm во время выполнения, если я правильно вас понимаю.
Итак, внутри вашего UC-класса вы можете сделать:
private parentFormInstance;
тогда внутри конструктора UC вы можете установить его так:
parentFormInstance = this.ParentForm
; (или каково бы ни было имя свойства).
Это позволяет вам во время разработки использовать:
parentFormInstance.DoSomething();
без компилятора, кричащего на вас.
Просто базовый совет, но если вы можете вернуться и упростить для себя, даже если это займет некоторое дополнительное время, переделывая вещи, это того стоит. Это может сэкономить ваше время в долгосрочной перспективе.