|
Создать TabPage.
|
|||
---|---|---|---|
#18+
У меня есть главная форма. На форме есть TabControl. Я хочу програмно добавить в этот TabControl TabPage. Это конечно не проблема, но добавить TabPage я хочу из другого класса а он этот TabControl не видит. Как это корректно сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 12:05 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
Сгенерировать некую команду в аргументах которой передать объект, данные которого должны быть отображены на TabPage. Главная форма должна обработать эту команду и "предложить" TabControl-у отобразить полученный в аргументах объект. TabControl отобразит объект созданием TabPage. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 12:36 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
Ну или главная форма может выступать простым диспетчером команды. Типа спросит лежащие в ней контролы: А кто может отобразить вот этот объект? А TabControl ответит: А я могу! И отобразит ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 12:38 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
skyANAСгенерировать некую команду в аргументах которой передать объект, данные которого должны быть отображены на TabPage. Главная форма должна обработать эту команду и "предложить" TabControl-у отобразить полученный в аргументах объект. TabControl отобразит объект созданием TabPage. Так это должен быть ивент, иначе как главная форма будет знать когда добавить новый пейдж? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 12:42 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
jenya7, смотрите в сторону MVP и command routing в WinForms. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 12:42 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
jenya7skyANAСгенерировать некую команду в аргументах которой передать объект, данные которого должны быть отображены на TabPage. Главная форма должна обработать эту команду и "предложить" TabControl-у отобразить полученный в аргументах объект. TabControl отобразит объект созданием TabPage. Так это должен быть ивент, иначе как главная форма будет знать когда добавить новый пейдж?Да, сделайте Event. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 12:45 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
skyANAjenya7пропущено... Так это должен быть ивент, иначе как главная форма будет знать когда добавить новый пейдж?Да, сделайте Event. То есть в классе я создаю глобальный ивент а главная форма скажем на загрузке подписывается на него? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 12:49 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
jenya7skyANAпропущено... Да, сделайте Event. То есть в классе я создаю глобальный ивент а главная форма скажем на загрузке подписывается на него?А что из себя представляет класс? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 12:52 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
skyANAjenya7пропущено... То есть в классе я создаю глобальный ивент а главная форма скажем на загрузке подписывается на него?А что из себя представляет класс? Управление. Тесты берутся по очереди и прогоняются. Но перед этим я хочу загрузить их визуально в лист, который расположиться на этом пейдже. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 12:58 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
jenya7skyANAпропущено... А что из себя представляет класс? Управление. Тесты берутся по очереди и прогоняются. Но перед этим я хочу загрузить их визуально в лист, который расположиться на этом пейдже.Я фиг что понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 13:19 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
skyANAjenya7пропущено... Управление. Тесты берутся по очереди и прогоняются. Но перед этим я хочу загрузить их визуально в лист, который расположиться на этом пейдже.Я фиг что понял. А что тут понимать? Создаем пэйдж, на него кидаем лист вью и пробегаемся по айтемам которые в лист вью. Но сначала надо создать пэйдж. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 13:52 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
Вот скелет класса. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37.
CreateTab(), UpdateListView(test) и LoadListView(tests) не реализованы.Это надо сделать в отдельном потоке. Вот сижу олову ломаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 14:07 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
jenya7skyANAпропущено... Я фиг что понял. А что тут понимать?Я Вам задал конкретный вопрос и из Вашего ответа не понял, что из себя представляет класс. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 14:27 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
jenya7Вот скелет класса. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37.
CreateTab(), UpdateListView(test) и LoadListView(tests) не реализованы.Это надо сделать в отдельном потоке. Вот сижу олову ломаю.ИМХО класс Sequence никакого отношения к UI не должен иметь. Некоторые тесты и в консоли могут запускаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 14:32 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
Тесты в консоли и запускаются но я хочу визуально показать информацию - этот тест прошел, этот упал, этот померял такую то величину тот другую ну и так далее. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 14:38 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
jenya7У меня есть главная форма. На форме есть TabControl теперь делаете метод у главной формы: Public TabPage AddTabPage() { var tp = new TabPage(); tabControl1.TabPages.Add(tp); return tp; } и в своем классе обращаетесь mainForm.AddTabPage(); ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 15:15 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
Arm79jenya7У меня есть главная форма. На форме есть TabControl теперь делаете метод у главной формы: Public TabPage AddTabPage() { var tp = new TabPage(); tabControl1.TabPages.Add(tp); return tp; } и в своем классе обращаетесь mainForm.AddTabPage(); О! То что надо. А я смогу это сделать в другом потоке? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 15:41 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
jenya7А я смогу это сделать в другом потоке? Я бы не советовал. Гемморой лишний. А так для синхронизации есть же всякие backgroundworker-ы, Task + TaskScheduler.FromCurrentSynchronizationContext(), какая то ерунда через async/await тоже присутствует Ваше будущее в ваших руках. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 15:52 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Неа, таб добавляется в экземпляре главной формы а не на самой форме. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 15:53 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
jenya7Тесты в консоли и запускаются но я хочу визуально показать информацию - этот тест прошел, этот упал, этот померял такую то величину тот другую ну и так далее.Вы хотите написать свой Gallio Icarus? Дак посмотрите его исходники на GitHub 1. Класс Sequence ничего не должен знать о главной форме, TabControl-е и прочем UI; 2. Вместо вызова метода UpdateListView нужно генерировать некое событие StateChanged, на которое должен быть подписан UI. Так Вы сможете запустить метод Run в отдельном потоке, а в основном реагировать на событие и обновлять интерфейс. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2014, 06:58 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
skyANA1. Класс Sequence ничего не должен знать о главной форме, TabControl-е и прочем UI; Так где же создавать TabPage??? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2014, 09:12 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
jenya7, А ну понял - по ивенту. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2014, 09:31 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
jenya7, да не надо пока про ивенты думать. Если я угадал с аналогом Gallio Icarus, то пользователь отмечает галками нужные тесты, формируется Sequence и его надо выполнить, так? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2014, 11:04 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
skyANAjenya7, да не надо пока про ивенты думать. Если я угадал с аналогом Gallio Icarus, то пользователь отмечает галками нужные тесты, формируется Sequence и его надо выполнить, так? Это тесты железа - тестируется наружная система. Вообще то опцию отмечать галками я не делал. Загружается список тестов из файла и прогоняются по порядку. Что то вроде poor man TestStand. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2014, 11:35 |
|
Создать TabPage.
|
|||
---|---|---|---|
#18+
jenya7skyANAjenya7, да не надо пока про ивенты думать. Если я угадал с аналогом Gallio Icarus, то пользователь отмечает галками нужные тесты, формируется Sequence и его надо выполнить, так? Это тесты железа - тестируется наружная система. Вообще то опцию отмечать галками я не делал. Загружается список тестов из файла и прогоняются по порядку. Что то вроде poor man TestStand.Я бы сделал как-то так: 1. В главной форме создал бы следующий метод: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
2. Зарузил тесты из файла и сформировал Suquence; 3. Вызвал бы метод Open. SequenceView - это UserControl, что умеет отображать объект Sequence и реагировать на изменение состояния последнего. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2014, 14:16 |
|
|
start [/forum/topic.php?fid=20&msg=38708014&tid=1402658]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
82ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 318ms |
total: | 499ms |
0 / 0 |