Рейтинг:
0
OriginalGriff
Основной ответ: не надо.
Элемент управления пользователя должен знать о себе и содержащихся в нем элементах управления: он не должен знать о форме, которая его содержит (потому что это может быть другой элемент управления пользователя, например), и он, конечно же, не должен знать о других элементах управления, которые могут быть в родительской форме.
Вместо этого он вызывает событие, которое обрабатывает родительский элемент управления / форма, и решает, что с ним делать.
В вашем случае второй элемент управления UserControl сигнализирует о "зарегистрированном" событии, родительская форма обрабатывает его, получает все соответствующие регистрационные данные из элемента управления и передает их первому элементу управления UserControl для обновления.
Видеть здесь: Передача информации между двумя формами, Часть 3: Ребенок ребенку[^] - он имеет дело с формами, но это точно такая же процедура и код для UserControls.
Member 13861271
Спасибо за ответ. Мне нравится подход, который вы мне показали. Тем не менее, я думаю, что это больше работы, чем нужно, чтобы сделать это таким образом. В моем случае. (на мой взгляд) самый простой подход был бы. Когда кто-то регистрируется, пусть 2-й usercontrol сигнализирует первому пользовательскому элементу управления, что пришло время обновить его. (На самом деле нет необходимости передавать данные), как если бы первый пользовательский элемент управления просто запускал функцию getdata() внутри него. все это будет обновлено. Считаете ли вы, что это хороший подход, и если да, то, возможно, если у вас есть примерный пример для него. Я, кажется, не могу понять это самостоятельно. Любая помощь приветствуется. Спасибо
OriginalGriff
Итак, позвольте мне подвести итог: у вас есть плохая идея, я объясняю, почему это плохая идея, и показываю вам, как это сделать правильно, с готовым кодом и примером приложения, вы хотите игнорировать все это и реализовать плохую идею в любом случае, и вы хотите, чтобы я написал код для реализации плохой идеи для вас, потому что вы не знаете, как заставить ее работать?
Member 13861271
Я буквально только что спросил, Хороший ли это подход или нет. и если это хороший подход, то помогите мне с ним, потому что это имело больше смысла для меня. Мне не нужна твоя помощь, если ты не можешь быть милым.
OriginalGriff
- Мне нравится подход, который вы мне показали. Тем не менее, я думаю, что это больше работы, чем нужно сделать ..."
Как вы думаете, как это звучит, кроме "Вы хотите игнорировать все это и реализовать плохую идею в любом случае, и вы хотите, чтобы я написал код для реализации плохой идеи для вас, потому что вы не знаете, как заставить ее работать?"
Это не я "нехорошо себя веду", а ты говоришь мне "чушь собачья"...
Member 13861271
"Как вы думаете, это хороший подход?" вы могли бы буквально сказать: "нет, этот подход нехорош, потому что "причина", и вы должны делать то, что я упомянул выше " я все еще изучаю C#, и я просто хотел обсудить это с кем-то, кто знает больше и учится у него. Наверное, нет. Это был бы очень ценный ответ вместо того, что вы на самом деле ответили мне.
OriginalGriff
Хммм....
- Основной ответ таков: не надо."
Далее следуют причины, почему и ссылка на лучшее объяснение с полным исходным кодом...
Затем вы возвращаетесь со словами: "Нет, мне нужна моя идея. Дайте мне код для этого."
Я бы посоветовал вам подумать о том, как вы сюда доберетесь.
Конец дискуссии.
Member 13861271
Я не знаю, откуда ты получаешь информацию. но в первоначальном вопросе я даже не упомянул ничего о другом подходе, который я упомянул позже. В вопросе явно было что - то совсем другое, чем то, о чем я спросил позже. (если они похожи, очевидно, я спросил, потому что думал, что это не так, и вы могли бы просто сказать: "это одно и то же", но, очевидно, вы не хотите быть очень полезным)
- Нет, мне нужна моя идея. Дайте мне код для этого."
и еще раз, вы игнорируете то, что я на самом деле просил, и просто делаете ложные предположения.
"Как вы думаете, это хороший подход, и если да, то, может быть, если у вас есть примерный пример для него", - сначала я спросил, хорош ли этот подход, и я сказал "Может быть" и пример кода. никогда не требовал никакого кода, написанного для моей точной цели.