![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| blast99 |
|
|||
![]() сисадмин ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 3.5.2005 Где: Россия, г. Ставро поль Репутация: нет Всего: 3 |
Пишу для .NET CF.
Есть одна форма + несколько пунктов меню каждый из них является практически отдельной мелкой программой со своими элементами управления. Соответсвенно хочеться: - сначала видеть перед собой голую форму/заставку - при выборе пунка меню создаются определенные эл-ты управ-я - при выборе другого пункта, удаляются все предыдущие элементы и создаются новые. Вопрос в логике - как реализовать, чтобы динамически создавались эл-ты и удалялись предыдущие. Т.е. сейчас сделал, чтобы выбрав один(их будет несколько 2-4) эл-т меню, создается Label, заполняется текстом. Вроде все норм, но как потом сделать, чтобы при выборе другого пункта меню(практически новая программка), предыдущие эл-ты были бы удалены. Сейчас все сделано просто и тупо. Создать label по клику в меню.
Думаю, что надо будет сделать несколько классов(класс на каждый эл-т меню) и при выборе в меню содавать объект текущей "программки", но как удалить удалить предыдущие эл-ты/объекты... и какой из них создавался... В голове каша! Совсем запутался... Это сообщение отредактировал(а) blast99 - 28.9.2006, 15:50 --------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей. |
|||
|
||||
| stab |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 1 Всего: 48 |
- сначала видеть перед собой голую форму/заставку
с этим всё понятно. - при выборе пунка меню создаются определенные эл-ты управ-я создавать умеешь. - при выборе другого пункта, удаляются все предыдущие элементы и создаются новые. удалять так:
т.е. пробегаем по всем котнролам на форме и уничтожаем их. если удалять все, то может удалиться что-то нужное, чтобы этого избежать, при создании пометь те контролы, которые нуждаются в уничтожении, с помощью свойства Tag и вставь проверку в цикл уничтожения, например:
помечать соответственно надо например так:
-------------------- 6, 6, 6 - the number of the beast. |
||||||
|
|||||||
| blast99 |
|
||||||||
![]() сисадмин ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 3.5.2005 Где: Россия, г. Ставро поль Репутация: нет Всего: 3 |
cully, спасибо большое!
Тогда можно еще парочку вопросов... Как мне создать из моего класса элемент на форме? Т.е. я создал свой класс в области namespace и вроде наследуя свойства Form'ы:
но все равно работать не получается! Если на:
не ругается, то на:
уже ругается... и Как привязать обработчик созданной кнопке? Добавлено @ 17:22 По поводу кнопки... В msdn'е нашел только вот этот пример:
А как привязать обработник, не понятно. Наверно плохо искал... --------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей. |
||||||||
|
|||||||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 24 Всего: 232 |
Это кусок кода ? Или весь ? Объявлен класс и прямо так, без тела метода, пишется какой-то код. Если в дизайнере - просто тыкнуть даблкликом по кнопке - обработчик и создастся. Можно редактировать его. Если в коде (т.е. всё руками) - см. событие Button.Click и оператор += для событий. -------------------- ![]() |
|||
|
||||
| blast99 |
|
|||
![]() сисадмин ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 3.5.2005 Где: Россия, г. Ставро поль Репутация: нет Всего: 3 |
По поводу кода без метода... это я и правда что-то маху дал!
Почему-то забыл создать какой-либо метод или засунуть в конструктор. А поводу кнопки, то кнопку я конечно хочу создавать динамически, соответственно в дизайнере по ней не кликнуть... Так же Вы написали: " Если в коде (т.е. всё руками) - см. событие Button.Click и оператор += для событий." Ок, завтра доберусь до компа буду искать и пробовать, но если не сложно можно показать строчку присвоения/обявления собития для конопки? --------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей. |
|||
|
||||
| blast99 |
|
|||
![]() сисадмин ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 3.5.2005 Где: Россия, г. Ставро поль Репутация: нет Всего: 3 |
Ну вот я и добрался до компа...
Вот только, что нашел .NET Controls: The Button. Там все написано и как создать и как привязать событие к кнопке. google рулит! --------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей. |
|||
|
||||
| blast99 |
|
||||
![]() сисадмин ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 3.5.2005 Где: Россия, г. Ставро поль Репутация: нет Всего: 3 |
хм, опять странно...
Написал вот такой класс:
Далее соответственно создание объекта и работа с ним:
так вот после компиляции, захожу в меню, выбираю нужный пункт ииии..... и ничего не происходит Может я чего не так делаю? Я пологаю все из-за Controls.Add... Может он незнает куда их добавить... Это сообщение отредактировал(а) blast99 - 29.9.2006, 08:09 --------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей. |
||||
|
|||||
| Naum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 1 Всего: 15 |
Программа у тебя запускается с какой формы?
Если запускается с CircuitDarts, то
Если с другой формы, то
Беда в том, что ты создаешь новый экземпляр CircuitDarts, а его же нужно еще отобразить. -------------------- У нас всего два праздника Новый год и ТЯПница. |
||||
|
|||||
| blast99 |
|
|||
![]() сисадмин ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 3.5.2005 Где: Россия, г. Ставро поль Репутация: нет Всего: 3 |
Naum, вроде все понятно и все работает, НО как???
Код вот такой:
Так, вот после того как я выбираю меню действиельно появляются элемнты! Однако, я нажимаю ок (типа закрыть окно) и вижу форму без элементов, еще раз Ок и форма закрывается. Далее иду в Setting\Memory\Running Programs и о чудо у меня 2 процесса! Соответсвенно в одном есть элементы в дрогом - нет. Ничего не понимаю... --------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей. |
|||
|
||||
| Naum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 1 Всего: 15 |
Так и есть стартует проект-то у тебя скорее всего с Form1 (причем, без элементов), затем ты запускаешь еще одну форму (то-бишь еще один процесс) и добавляешь на эту новую форму элементы. Поэтому и получается, что Form1 у тебя без элементов, а cd с элементами. -------------------- У нас всего два праздника Новый год и ТЯПница. |
|||
|
||||
| blast99 |
|
|||
![]() сисадмин ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 3.5.2005 Где: Россия, г. Ставро поль Репутация: нет Всего: 3 |
хм, а как сдлеать чтобы на уже готовой, созданной форме, я создавал/удалял элементы из своего класса?
--------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 24 Всего: 232 |
Да всё правильно в коде, только на клик кнопки подписаться надо имхо..
-------------------- ![]() |
|||
|
||||
| blast99 |
|
|||
![]() сисадмин ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 3.5.2005 Где: Россия, г. Ставро поль Репутация: нет Всего: 3 |
mr.DUDA, эээ... если не сложно объясни, что такое - "подписаться надо" ?
--------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей. |
|||
|
||||
| blast99 |
|
|||
![]() сисадмин ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 3.5.2005 Где: Россия, г. Ставро поль Репутация: нет Всего: 3 |
Только, что придумал, что можно все методы моего класса описать в классе формы, тогда не надо будет создавать новый объект...
Но все же хотелось бы выделить все в отдельный класс. Половина сделана, но вот только работает она не корректно... --------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей. |
|||
|
||||
| Naum |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 1 Всего: 15 |
Я именно про это и говорил. Добавлено @ 14:44
Проще говоря, это значит повесить обработчик какого-либо события. -------------------- У нас всего два праздника Новый год и ТЯПница. |
||||||||
|
|||||||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |