|
Передача объектов между окнами
|
|||
---|---|---|---|
#18+
Здравствуйте! Есть три кнопки на основной форме. Также имеется три класса, соответствующие кнопкам. Нужно передавать объект Button обратно в основную форму при возникновении события. Мне нужен текст кнопки. Как сделать? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Буду признателен за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 16:47 |
|
Передача объектов между окнами
|
|||
---|---|---|---|
#18+
Полагаю, лучше использовать MVP . ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 17:45 |
|
Передача объектов между окнами
|
|||
---|---|---|---|
#18+
erman, sender - Это и есть тот обьект, который вызвал обработчик. то есть - Код: c# 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2015, 12:18 |
|
Передача объектов между окнами
|
|||
---|---|---|---|
#18+
erman, Вообще-то жуткий код какой-то.... Вы уже сами эвент написали? Зачем? На таком уровне знаний вам должно хватать стандартных событий... Что конкретно вы хотите сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2015, 12:26 |
|
Передача объектов между окнами
|
|||
---|---|---|---|
#18+
Ilya81Полагаю, лучше использовать MVP . Не согласен - не в первой апликации. И не в любой следующей апликации... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2015, 12:27 |
|
Передача объектов между окнами
|
|||
---|---|---|---|
#18+
D129Ilya81Полагаю, лучше использовать MVP . Не согласен - не в первой апликации. И не в любой следующей апликации... Главное - не слишком поздно, чтоб потом не стало получаться что-то, чему место здесь . ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2015, 13:10 |
|
Передача объектов между окнами
|
|||
---|---|---|---|
#18+
D129erman, Вообще-то жуткий код какой-то.... Вы уже сами эвент написали? Зачем? На таком уровне знаний вам должно хватать стандартных событий... Что конкретно вы хотите сделать? Событие написано мной! Тестовое задание... Код: c# 1. 2. 3. 4. 5. 6. 7.
Нужно передать Button и добавить в его свойство Text дополнительный текст... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2015, 14:22 |
|
Передача объектов между окнами
|
|||
---|---|---|---|
#18+
ermanНужно передать Button и добавить в его свойство Text дополнительный текст... Ок, давайте постепенно. Пойдем простым логическим ходом (исходя из того, что все уже написано до нас, и ваше задание - тривиальное, и решенное уже тысячи раз). Кнопка создана для того, чтобы ее нажимать. Для того, чтобы получить факт нажатия - уже есть эвент у самой кнопки - "Click" На него и надо подписываться. в обработчик эвента приходят параметры - sender и e . sender и есть так кнопка, которая была нажата (передана нам по ссылке, если вы это имеете в виду под "передать"). Только она приведена к базовому типу Object. Для того, чтобы опять увидеть ее как кнопку, с текстом и прочими свойствами - ее надо привести обратно. Могу обьяснить подробнее, если хотите, но один из способов: Код: c# 1.
Дальше обращаемся к свойству, и меняем его на что угодно. Этот же обработчик можно использовать для любой другой кнопки, и вообще всего, у чего есть событие "Click". Это к вопросу повторного использования кода и неписания классов с именами Class1 , Class2 ... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2015, 18:07 |
|
Передача объектов между окнами
|
|||
---|---|---|---|
#18+
Ilya81Главное - не слишком поздно, чтоб потом не стало получаться что-то, чему место здесь . Вы архитектор, наверное... Причем сразу по профессии работаете ... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2015, 18:25 |
|
Передача объектов между окнами
|
|||
---|---|---|---|
#18+
[quot D129]ermanНужно передать Button и добавить в его свойство Text дополнительный текст... Ок, давайте постепенно. Пойдем простым логическим ходом (исходя из того, что все уже написано до нас, и ваше задание - тривиальное, и решенное уже тысячи раз). Кнопка создана для того, чтобы ее нажимать. Для того, чтобы получить факт нажатия - уже есть эвент у самой кнопки - "Click" На него и надо подписываться. в обработчик эвента приходят параметры - sender и e . sender и есть так кнопка, которая была нажата (передана нам по ссылке, если вы это имеете в виду под "передать"). Только она приведена к базовому типу Object. Для того, чтобы опять увидеть ее как кнопку, с текстом и прочими свойствами - ее надо привести обратно. Могу обьяснить подробнее, если хотите, но один из способов: Код: c# 1.
И где здесь sender ? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Мне нужно в метод messages.Message(form1.button1) отправить кнопку со всеми её свойствами. Как это сделать? А уже в методе Message(...) добавить какой-то текст к тексту соответствующей кнопки и установить его в стартовой форме. Здесь это сделать : Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2015, 18:39 |
|
Передача объектов между окнами
|
|||
---|---|---|---|
#18+
erman, Полагаю, вам нужно в конструктор вашего класса, передавать ссылку на кнопку, вот здесь: Код: c# 1.
А из этого, что ниже, похоже что вы создаёте новый экземпляр формы, и хотите из неё вытащить ссылку на кнопку - а значением там будет "по-умолчанию", а я так думаю вы хотите чтобы каждый ShowMessage() из классов добавлял текст к кнопке на форме по порядку (накопительно) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2015, 20:10 |
|
Передача объектов между окнами
|
|||
---|---|---|---|
#18+
erman, Еще я бы вам посоветовал сделать паузу, и почитать про UserControl Это самый правильный способ держать рядом со стандартной кнопкой какой-то особый код. Правило такое - если у вас есть два одинаковых по функциональности компонента (а у вас уже целых три!) - надо писать юзерконтрол, это окупится. С эвентом разобрались, классы пишите - освойте еще один способ повторного использования кода - композиция. Сврехзадача такая (как я думаю) - увидеть в задаче общее, и это общее описать одним кодом, который справляется с частностями. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2015, 09:23 |
|
|
start [/forum/topic.php?fid=20&msg=38902051&tid=1401810]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
84ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 182ms |
0 / 0 |