![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| garfna |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.3.2009 Репутация: нет Всего: нет |
Как сохранить параметры(свойства и методы) динамически создаваемых объектов(кнопок и т.д.) на форме в xml-файл без сериализации объектов?
|
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 8 Всего: 67 |
garfna, а методы зачем сохранять?
сохранить в XML можно используя XML-сериализацию...гуглите XmlSerializer -------------------- СУВ, Partizan. |
|||
|
||||
| garfna |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.3.2009 Репутация: нет Всего: нет |
Вообщем мне нужно создать подобие конструктора форм визуал студио, только когда пользователь запустит мою программу, набросает кнопок и других объектов, он должен кроме их свойств в PropertyGrid, установить ещё и определённые методы, которые бы сразу срабатывали.
|
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 4 Всего: 59 |
А почему сериализация не подходит вам? Не вижу ограничений для такой задачи. Если не хотите автоматом, то делайте ручками: XmlWriter/XmlReader/XmlDocument Если мы Вас не поняли, то давайте больше сведений. -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 8 Всего: 67 |
garfna, что значит "установить определённые методы"? Выбрать из предопределённых? или сам должен код обработчиков написать?
-------------------- СУВ, Partizan. |
|||
|
||||
| garfna |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.3.2009 Репутация: нет Всего: нет |
Давайте я покажу на примере)
Например, для кнопки в методах, пользователь должен выбрать "Запустить таймер", связать эту кнопку с TextBox,где должен задать время. При нажатии данной кнопки должен пойти отсчёт времени в TextBox. |
|||
|
||||
| -Mikle- |
|
||||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 4 Всего: 59 |
Думаю что это, уже совсем другой вопрос в отличии от
Если речь идет о простых задачах для кнопок, то можно сделать предустановленные классы-команды и назначать их кнопкам пользователя. Если задачи для кнопок заранее не известны, то надо пердоставить пользователю редактор сценариев или окно для написания пользовательского кода, пусть он пишет там любые сценарии, какие захочет на том же C#... Все варианты очень легко реализуются, без особых заморочек... -------------------- Если тебе плюют в спину, значит ты впереди... |
||||
|
|||||
| garfna |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.3.2009 Репутация: нет Всего: нет |
Моя программа должна быть рассчитана на пользователя, не знающего программирования.
Я хотела, чтобы пользователь мог через PropertyGrid устанавливать свойства для кнопок и других объектов, а через некоторые свойства можно было бы определить методы. Тогда бы и сериализацию можно было б сделать) |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 4 Всего: 59 |
Диапазон функционала методов каков? Фиксирован? То есть, например, у пользователя есть список из 100 заранее предустановленных методов? Или у пользователя есть свобода для творчества... Я все виду к тому, что вы неверно размышляете... Если набор методов у вас предустановлен, то не нужно (как вы говорите) сериализовывать методы, нужно просто запомнить какой метод на какое событие и какого элемента назначен. Для оказания более полноценной помощи, вам придется подробнее расписать, что вы делаете, что будут делать созданные пользователем формы, какого они плана вобще, что может пользователь назначать на события кнопок и других элементов управления. Описание задачи (для вас самой), является важным шагом на пути к реализации задачи... -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| garfna |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.3.2009 Репутация: нет Всего: нет |
Задача заключается в следующем:
Существует плата знакогенерации, позволяющая сформировать титры для спортивных трансляций. Необходимо придумать пользовательский интерфейс, позволяющий управлять этой платой. Интерфейс должен быть расчитан на пользователя не имеющего специальных знаний и навыков в области разработки ПО. Поэтому диапазон функционала методов фиксирован)) Для любого вида спорта пользователь может создать специальный шаблон, куда расположит кнопки, текстбоксы и многое другое для управления страницами в плате, настроит кнопки под определённые функции, свяжет их с нужными объектами и т.д. Созданные шаблоны должны сохраняться в хмл-файл, ну считываться из хмл-файла, создавая форму с объектами. Т.е. задача пользователей заключается только в настройке объектов формы и всё... |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 18 Всего: 142 |
Предложу простую реализацию. Создаётся кнопка с перечисляемым свойством Command. В зависимости от того, какое значение выберет пользователь для этого свойства, будет выполнятся та или иная команда.
Присоединённый файл ( Кол-во скачиваний: 46 )
ButtonCommands.rar 50,96 Kb-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| garfna |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.3.2009 Репутация: нет Всего: нет |
Спасибо!
|
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 4 Всего: 59 |
Осмелюсь предложить еще один вариант. Он чуточку сложнее, но зато предоставляет, чуть больше возможностей. Имя свойства у кнопки называется Action.
Основан на том, что команда - это объект, который может иметь сколько угодно свойств. Также в примере реализован простой Design-time редактор свойства Action. На этом шаблоне можно легко организовать любые виды команд, в том числе команды-группы команд (сценарии). В примере продемонстрировано три команды: Показать сообщение, Выполнить команду по таймеру, Сценарий (группа комманд)... Будут вопросы, не стесняйся пиши... Присоединённый файл ( Кол-во скачиваний: 29 )
ButtonCommands.rar 97,67 Kb-------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| garfna |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.3.2009 Репутация: нет Всего: нет |
Большое спасибо!
|
|||
|
||||
| ADVOKAT2 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 4.6.2012 Репутация: нет Всего: нет |
Здравствуйте уважаемые знатоки! У меня к вам вопрос, скажите пожалуйста, каким образом можно из Xml загрузить динамические данные. Т.е я пытаюсь сделать игру но суть в том, что в моем проекте должен присутствовать динамически вызов компонента. Допустим: Пользователь нажал определенную кнопку и передвинул ее, соответственно сменились Location.X Location.Y, далее я сохраняю все эту петрушку в Xml Файл
Теперь =), пожалуйста подскажите, если пользователь вышел из программы, то при следующим запуске программы, каким образом можно загрузить динамические объекты на свои места которые были записаны в файл Xlm. Спасибо заранее... |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |