Как добавить в программу что-то сложное в виде ресурса или настройки?

Если я хочу добавить строку в качестве настройки или изображение в качестве ресурса — я делаю это через Visual Studio.

Но как мне добавить что-то сложное, например, большой массив или форму, которую нужно сначала вычислить во время выполнения (или, в случае формы, заполнить элементами управления)?

Я думал, что смогу запустить его и сохранить в настройках (Properties.Settings.Default.Setting1 =...), а затем опубликовать. Но это не работает (см.: Как сохранить программную сборку? ).

Итак, как это делается?


person ispiro    schedule 24.04.2012    source источник


Ответы (2)


Вы читали об сериализации? Я знаю, что это своего рода общий ответ, но я надеюсь, что это поможет.

person mafafu    schedule 24.04.2012
comment
Спасибо. Но на самом деле именно так я и поступал до сих пор — сериализовал их в файлы. Но кажется, что файлы ресурсов и настройки были бы лучше. - person ispiro; 24.04.2012
comment
Кажется, ответ заключается в том, чтобы сериализовать его в файл, а затем добавить этот файл в качестве ресурса (щелкнув «Ресурсы» в обозревателе решений). А потом прочитайте это: byte[] MyResource = Properties.Resources.MyResourceFile; - person ispiro; 26.04.2012

Что касается большого массива, вам нужно придумать подход или механизм для хранения данных.

Если это простой массив, который не будет меняться очень часто, вы можете сохранить его в файле app.config.

Если это источник данных (т.е. данные часто меняются), вы можете использовать файл XML и, в идеале, базу данных.

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

person Localghost    schedule 24.04.2012