Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранение параметров объектов на C# в xml-файл 
:(
    Опции темы
garfna
Дата 28.3.2009, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.3.2009

Репутация: нет
Всего: нет



Как сохранить параметры(свойства и методы) динамически создаваемых объектов(кнопок и т.д.) на форме в xml-файл без сериализации объектов?
PM MAIL   Вверх
Partizan
Дата 29.3.2009, 00:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 8
Всего: 67



garfna, а методы зачем сохранять? smile Состояние объекта характеризуется значениями его переменных....
сохранить в XML можно используя XML-сериализацию...гуглите XmlSerializer


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
garfna
Дата 29.3.2009, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.3.2009

Репутация: нет
Всего: нет



Вообщем мне нужно создать подобие конструктора форм визуал студио, только когда пользователь запустит мою программу, набросает кнопок и других объектов, он должен кроме их свойств в PropertyGrid, установить ещё и определённые методы, которые бы сразу срабатывали.
PM MAIL   Вверх
-Mikle-
Дата 29.3.2009, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 4
Всего: 59



Цитата(garfna @  29.3.2009,  01:45 Найти цитируемый пост)
в xml-файл без сериализации объектов

А почему сериализация не подходит вам? Не вижу ограничений для такой задачи.

Если не хотите автоматом, то делайте ручками: XmlWriter/XmlReader/XmlDocument

Если мы Вас не поняли, то давайте больше сведений.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Partizan
Дата 29.3.2009, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 8
Всего: 67



garfna, что значит "установить определённые методы"? Выбрать из предопределённых? или сам должен код обработчиков написать?


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
garfna
Дата 29.3.2009, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.3.2009

Репутация: нет
Всего: нет



Давайте я покажу на примере)
Например, для кнопки в методах, пользователь должен выбрать "Запустить таймер", связать эту кнопку с TextBox,где должен задать время. При нажатии данной кнопки должен пойти отсчёт времени в TextBox.

PM MAIL   Вверх
-Mikle-
Дата 29.3.2009, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 4
Всего: 59



Цитата(garfna @  29.3.2009,  15:30 Найти цитируемый пост)
пользователь должен выбрать "Запустить таймер", связать эту кнопку с TextBox,где должен задать время. При нажатии данной кнопки должен пойти отсчёт времени в TextBox

Думаю что это, уже совсем другой вопрос в отличии от
Цитата(garfna @  29.3.2009,  01:45 Найти цитируемый пост)
Как сохранить параметры(свойства и методы) динамически создаваемых объектов(кнопок и т.д.) на форме в xml-файл без сериализации объектов?


Если речь идет о простых задачах для кнопок, то можно сделать предустановленные классы-команды и назначать их кнопкам пользователя.
Если задачи для кнопок заранее не известны, то надо пердоставить пользователю редактор сценариев или окно для написания пользовательского кода, пусть он пишет там любые сценарии, какие захочет на том же C#...

Все варианты очень легко реализуются, без особых заморочек...


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
garfna
Дата 29.3.2009, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.3.2009

Репутация: нет
Всего: нет



Моя программа должна быть рассчитана на пользователя, не знающего программирования.
Я хотела, чтобы пользователь мог через PropertyGrid устанавливать свойства для кнопок и других объектов, а через некоторые свойства можно было бы определить методы. Тогда бы и сериализацию можно было б сделать)
PM MAIL   Вверх
-Mikle-
Дата 29.3.2009, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 4
Всего: 59



Цитата(garfna @  29.3.2009,  22:07 Найти цитируемый пост)
было бы определить методы

Диапазон функционала методов каков? Фиксирован? То есть, например, у пользователя есть список из 100 заранее предустановленных методов? Или у пользователя есть свобода для творчества...

Я все виду к тому, что вы неверно размышляете... Если набор методов у вас предустановлен, то не нужно (как вы говорите) сериализовывать методы, нужно просто запомнить какой метод на какое событие и какого элемента назначен.

Для оказания более полноценной помощи, вам придется подробнее расписать, что вы делаете, что будут делать созданные пользователем формы, какого они плана вобще, что может пользователь назначать на события кнопок и других элементов управления. Описание задачи (для вас самой), является важным шагом на пути к реализации задачи...


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
garfna
Дата 29.3.2009, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.3.2009

Репутация: нет
Всего: нет



Задача заключается в следующем:
Существует плата знакогенерации, позволяющая сформировать титры для спортивных трансляций. Необходимо придумать пользовательский интерфейс, позволяющий управлять этой платой. Интерфейс должен быть расчитан на пользователя не имеющего специальных знаний и навыков в области разработки ПО. Поэтому диапазон функционала методов фиксирован))
Для любого вида спорта пользователь может создать специальный шаблон, куда расположит кнопки, текстбоксы и многое другое для управления страницами в плате, настроит кнопки под определённые функции, свяжет их с нужными объектами и т.д.
Созданные шаблоны должны сохраняться в хмл-файл, ну считываться из хмл-файла, создавая форму с объектами.
Т.е. задача пользователей заключается только в настройке объектов формы и всё...
PM MAIL   Вверх
diadiavova
Дата 29.3.2009, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 18
Всего: 142



Предложу простую реализацию. Создаётся кнопка с перечисляемым свойством Command. В зависимости от того, какое значение выберет пользователь для этого свойства, будет выполнятся та или иная команда.


Присоединённый файл ( Кол-во скачиваний: 46 )
Присоединённый файл  ButtonCommands.rar 50,96 Kb


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
garfna
Дата 30.3.2009, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.3.2009

Репутация: нет
Всего: нет



Спасибо!  smile 
PM MAIL   Вверх
-Mikle-
Дата 30.3.2009, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 4
Всего: 59



Осмелюсь предложить еще один вариант. Он чуточку сложнее, но зато предоставляет, чуть больше возможностей. Имя свойства у кнопки называется Action.
Основан на том, что команда - это объект, который может иметь сколько угодно свойств.
Также в примере реализован простой Design-time редактор свойства Action.
На этом шаблоне можно легко организовать любые виды команд, в том числе команды-группы команд (сценарии).
В примере продемонстрировано три команды: Показать сообщение, Выполнить команду по таймеру, Сценарий (группа комманд)...

Будут вопросы, не стесняйся пиши...

Присоединённый файл ( Кол-во скачиваний: 29 )
Присоединённый файл  ButtonCommands.rar 97,67 Kb


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
garfna
Дата 30.3.2009, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.3.2009

Репутация: нет
Всего: нет



Большое спасибо!  smile 
PM MAIL   Вверх
ADVOKAT2
Дата 22.10.2012, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 4.6.2012

Репутация: нет
Всего: нет



Здравствуйте уважаемые знатоки! У меня к вам вопрос, скажите пожалуйста, каким образом можно из Xml загрузить динамические данные. Т.е я пытаюсь сделать игру но суть в том, что в моем проекте должен присутствовать динамически вызов компонента. Допустим: Пользователь нажал определенную кнопку и передвинул ее, соответственно сменились Location.X Location.Y, далее я сохраняю все эту петрушку в Xml Файл
Код

Element1>
<Button name=button1 Text="Имя кнопки" X.Location="100" Y.Location="50">
</Button>
</Element1>  
 Код XML

Теперь =), пожалуйста подскажите, если пользователь вышел из программы, то при следующим запуске программы, каким образом можно загрузить динамические объекты на свои места которые были записаны в файл Xlm. Спасибо заранее...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0605 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.