Да, вы можете. Мы делаем это успешно в нашем проекте C #; Я думаю, что то же самое относится и к vb.net.
Каждый пользовательский элемент управления имеет свойство Page, которое ссылается на страницу, на которой оно размещено. Создайте интерфейс, который предоставляет свойства, которые вы хотите изменить, или методы, которые вы хотите вызвать. Пусть каждая страница, на которой размещен пользовательский элемент управления, реализует этот интерфейс. Реализация, очевидно, должна влиять на правильные элементы управления на странице.
Затем введите свойство Page в этот интерфейс и установите свойство (я).
Например (опять же, это C #, не уверен, что такое эквивалент VB.Net):
interface IUpdatePage {
void ChangeButton(String toValue);
}
public class MyPage : Page, IUpdatePage {
public void ChangeButton(String toValue) {
// do something interesting
}
}
public class MyUserControl : UserControl {
public void UpdateParent() {
var pageLink = (Page as IUpdatePage);
pageLink.ChangeButton("some value");
}
}