получить контекст splitcontainer в событии клика пользователя - PullRequest
1 голос
/ 29 сентября 2011

Сэр, у меня есть разделенный контейнер, в котором на правой панели у меня есть пользовательский контроль. В пользовательском элементе управления у меня есть несколько кнопок, таких как просмотр, новое, редактирование и т. Д. Внизу этого пользовательского элемента управления открывается форма, основанная на ссылкенажал на левой боковой панели навигации.Теперь, когда я нажимаю кнопку просмотра пользовательского элемента управления, я должен открыть новую форму под ним.как получить контекст splitcontainer в событии click? также, если я хочу получить значения формы для сохранения в базе данных при нажатии кнопки «Сохранить» в пользовательском элементе управления, как это сделать?

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

Событие Click имеет параметр отправителя, который является нажатой кнопкой.Вы можете использовать имя кнопки, чтобы решить, какая форма должна быть открыта.

0 голосов
/ 29 сентября 2011

Чтобы получить вашу кнопку в событии нажатия:

Button clickedButton = (Button)sender;

Чтобы получить родительский элемент для вашей кнопки (если это был SplitContainer, вам нужно будет использовать свойство Parent 3 раза, поскольку первое из них будетполучите свой UserControl, вторая - левая панель SplitPanel, у которой нет свойства Name, третья - ваша SplitPanel, и четвертая, если хотите, имя вашей формы)

string splitPanemName = clickedButton.Parent.Parent.Parent.Name;

...или вы можете просто получить весь объект SplitPanel:

SplitPanel currentSplitPanel = (SplitPanel)clickedButton.Parent.Parent.Parent;

... или объект формы:

Form currentSplitForm = (Form)clickedButton.Parent.Parent.Parent.Parent;

Чтобы сделать это, вы должны быть уверены в составе вашей формы,так что вы можете получить правильный контроль в нужном месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...