![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| FasterHarder |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 1.8.2007 Репутация: нет Всего: нет |
Всем программистам привет! Respect! В общем нужен совет, как правильнее всего это реализуется на сегодняшний день в мире всеми любимого
P.S. возможно это все дело можно сериализовать, но я незнаю, поддерживает ли сериализацию сами формы |
|||
|
||||
| Naum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 1 Всего: 15 |
Можно свойства элементов формы забиндить на поля Settings.
-------------------- У нас всего два праздника Новый год и ТЯПница. |
|||
|
||||
| RWander |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 349 Регистрация: 4.5.2006 Где: Russia.Udm.Izhevs k Репутация: нет Всего: 6 |
" в лоб" сериализовать не получится попробуй написать класс с поддержкой сериализации, которые хранят состояние всех элементов формы -------------------- Microsoft Certified Technology Specialist - ASP.NET Applications |
|||
|
||||
| FasterHarder |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 1.8.2007 Репутация: нет Всего: нет |
RWander, а у вас не получилось написать нечто позволяющее запускать в поток форму. У вас же был подобный вопрос, как вы выкрутились?
|
|||
|
||||
| RWander |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 349 Регистрация: 4.5.2006 Где: Russia.Udm.Izhevs k Репутация: нет Всего: 6 |
не очень понял, если вы имеете ввиду десериализацию самой формы, то я даже и не пытался это делать.. А в чем собственно проблема? Я же говорю создайте класс с поддержкой сериализации, который содержит поля, отвечающие за определенные состояния контролов, состояние которых вы хотите сохранить. Перед закрытием формы сериализуйте его в файл, а при создании - десериализуйте объект этого класса и присваивайте значению контролов формы соответствующие поля этого объекта.
-------------------- Microsoft Certified Technology Specialist - ASP.NET Applications |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 11 Всего: 170 |
RWander, а зачем "класс с поддержкой сериализации, который содержит поля, отвечающие за определенные состояния контролов, состояние которых вы хотите сохранить"? Думаю, что это может вызвать проблемы при изменении чего-нибудь на форме в будущем. Название контрола изменилось, количество и т.д. Нужно будет класс синхронизировать с формой постоянно...
FasterHarder, Навскидку я делал бы примерно так: 1. Coздал бы поток, в который нужно серилизовать состояние контрола (допустим, интересуют только TextBox-ы) и назвал бы его serilizeStream, допустим. 2. по закрытию приложения (или по любому другому событию) вызывал бы свой метод, серилизующий котролы формы с кодом наподобие:
где SerilizeTextBox(Stream targetStream) твой метод, который как раз и серилизует нужные свойства TextBox-а (текст, к примеру) в целевой поток. 3. При запуске приложения (в InitializeComponent), или по любому другому событию, считывал бы инфу из потока и инициализировал бы текстбоксы формы. Аналогично можно поступить для любых других контролов. Принцип здесь - в переборе контролов формы и выборе метода серилизации и серилизуемых инфы в зависимости от типа контрола. Набирал без студии. Могут быть опечатки... -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| FasterHarder |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 1.8.2007 Репутация: нет Всего: нет |
Да, круто tol05. Общая идея понятна. Respect:)).
P.S. почему "добрые люди" из редмонда не сваяли сриализацию непосредственно самой формы, сколько гемороя бы ушло. |
|||
|
||||
| Naum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 1 Всего: 15 |
Я не настаиваю, но таки объясните мне, пожалуйста, чем вот это:
не подходит для сохранения состояния формы и контролов? -------------------- У нас всего два праздника Новый год и ТЯПница. |
|||
|
||||
| archeg |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 9 Всего: 27 |
С помощью Reflection ;) Таким образом даже не привинчиваемся к конкретному Textbox`у - можно сериализировать все)
Читаем первый пункт:
Идея в том чтобы сериализировать все что есть на форме без выбора каждый раз елементов на самой форме. А если добавить что-то новое к форме?? Прийдется еще и дописывать код?? [offtop] tol05, уже приехал?? Как отдохнул? [/offtop] -------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
||||||
|
|||||||
| Naum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 1 Всего: 15 |
-------------------- У нас всего два праздника Новый год и ТЯПница. |
|||
|
||||
| FasterHarder |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 1.8.2007 Репутация: нет Всего: нет |
Буду эксперементировать со всеми возможными вариантами и задавать более конкретные вопросы. А пока интересовала тока идея.
ну как отодохнул то tol05? Расскажи, а? |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 11 Всего: 170 |
archeg,
Можно реализовать в форме ISerilizable и ручками прописывать то, что нужно. Это более быстрый и эффективный вариант. Просто я поленился Перехожу в ".Net для новичков", на переподготовку... -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |