Здравствуйте, Molot, Вы писали:
M>хочу создать настраиваемое приложение. использовать хочу файл xml для хранения, его загружаю в treeview и обрабатываю в propertygrid. так вот файл я загрузил в treeview, при выборе узла загрузил свойства в propertygrid. но не могу вкурить что делать когда меняют что-то в propertygrid. как такое обрабатывается в случае с базой данных понятно — через адо (fill и т.п.). Какие идеи можете мне подсказать, может есть какая статья, или книга. Где временные данные лучше хранить — в оперативке или в базе какой?
Ну смотря сколько настроек. Если настроек на гиг оперативки, то определенно лучше в оперативной памяти это не хранить. Хотя не думаю, что у вас настроек так много, поэтому я бы сделал так:
1. Загрузил бы настройки из XML файла в XmlDocument.
2. Построил бы TreeView на его основе, привязав к каждому элементу дерева ссылку на XMLNode из XmlDocument.
3. Дальше просто. При выборе элемента дерева, читаем свойства из привязанной к элементу XMLNode в PropertyGrid. Затем, когда пользователь меняет свойство, сохраняем эти изменения в XmlNode.
4. Когда пользователь закончил редактировать и нажал OK, сохраняем XmlDocument в файл. Если нажал Отмена, не сохраняем изменения в файл.
PS. Для хранения настроек обычно используется app.config. В .NET есть классы, которые работают с этими настройками, позволяют их считывать и менять программно, что гораздо легче, чем самому реализовывать подобную логику. Может это вам больше подойдет?