Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не грузятся сохранённые настройки. Сериализация. Статический класс.

49K
08 апреля 2010 года
-=C@$Per=-
9 / / 09.11.2009
Сделал классы для сохранения и загрузки настроек из своего файла настроек и сохранение в него из одного экземпляра класса. То есть у меня 1 экземпляр класса настроек доступный из любой формы.
Код:
public class GlobalSettings
    {
        public static ApplicationSettings appSettings = new ApplicationSettings();

        public static void SaveSettings(ApplicationSettings config)
        {
            IFormatter binaryFormatter = new BinaryFormatter();
            Stream stream = new FileStream(Application.StartupPath + "\\" + "Settings.bin",
                FileMode.Create, FileAccess.Write, FileShare.None);
            binaryFormatter.Serialize(stream, config);
            stream.Close();

        }

        public static void LoadSettings(ApplicationSettings config)
        {
            IFormatter formatter = new BinaryFormatter();
            Stream stream = new FileStream(Application.StartupPath + "\\" + "Settings.bin",
                FileMode.Open, FileAccess.Read, FileShare.None);
            config = (ApplicationSettings)formatter.Deserialize(stream);
            stream.Close();
        }
    }


Код:
[Serializable]
    public class ApplicationSettings
    {
        //Свойства
        public Color ColorBackScreen; //Цвет фона окна на котором выделяют область
        public Color ColorLinesRect;  //Цвет прямоугольной рамки выделения

        public Point MainWindowPosition;

        public Boolean SaveScreenshotsInDefFolser; //ФЛАГ сохранять ли скришнот в папку по умолчанию

        public String DefaultFolderForScreenshots; //папка для сохранения скриншотов по умолчанию

        public ScreenshotFormat ScreenImageFormat; //Должно будет использоваться в методе ConvertFromImageFormat_ToScreenshotFormat()

        public ApplicationSettings()
        {
            ColorBackScreen = Color.WhiteSmoke;
            ColorLinesRect = Color.Red;  

            MainWindowPosition = new Point(Screen.PrimaryScreen.Bounds.Width / 2,
                Screen.PrimaryScreen.Bounds.Height / 2);

            SaveScreenshotsInDefFolser = true;

            DefaultFolderForScreenshots = String.Empty;

            ScreenImageFormat = ScreenshotFormat.BMP;
        }


    }
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог