2013-06-05 2 views
0

Я разрабатываю программу, в которой пользователь добавляет элементы управления, такие как изображение, ярлык и т. Д. В групповой ящик, я хочу сохранить его работу в файл, чтобы он может открыть его позже, я только работал с xml раньше, и я хочу знать ваше мнение, вы думаете, что сохранение элементов управления в xml-файле - хороший способ решить эту проблему? Или, возможно, передать все данные через потоковик, зациклив все элементы управления? Или другое решение, я хочу знать, что вы рекомендуете в этом случае.Сохранить/загрузить элементы управления, сделанные внутри форм окна C#

заранее спасибо, DavidN

ответ

1

Они говорят, чтобы не изобретать колесо, но вы могли бы сделать это бесчисленное количество способов. Это действительно зависит от стиля, формата и аудитории пользователя. Иногда мне нравится делать все в простом файле стиля txt, поэтому каждый может легко редактировать информацию. XML предложит вам возможность более легко организовать вашу информацию, которая, вероятно, будет лучше. Это действительно зависит от вас, я бы сказал, с чем вам удобнее. Я лично сделал бы свой собственный маленький алгоритм для поиска простого текстового файла, но это потому, что я не использую XML.

Вы должны создать класс только для обработки сохранения и загрузки файла.

Что-то вроде

 public class CustomControls 
    { 
     //more code 
     public void AddCustomControl(Control x) { } 
     public void RemoveCustomControl(Control x) { } 
     public void UndoControl() { } 
     public void RedoControl() { } 
     public void SaveControls(string file){} 
     public void LoadControls(string file){} 
     //more code 
    } 

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

* Вы также заметите, что вы можете отслеживать пользовательские элементы управления, добавленные через ваш теоретический класс CustomControls, иначе вам придется каким-то образом передать их. Я бы не рекомендовал прокручивать все элементы управления формы, а отслеживать то, что вы добавили динамически через класс CustomControls. Это также позволит вам реализовать такие функции, как отмена и повтор.

1

, если мне нужно принять решение, я попробую реализовать xml, devExpress использовать xml для этой цели. смотрите ссылку последующей

http://documentation.devexpress.com/#WindowsForms/CustomDocument4879

Пример очень прост в использовании, но я, если очень трудно реализовать, не знаю.

navBarControl1.SaveToXml("c:\\NavBarLayout.xml"); 
navBarControl2.RestoreFromXml("c:\\NavBarLayout.xml"); 
Смежные вопросы