Всем привет! Думаю вы видели приложения в которые запоминают свою позицию и размер своего окна, и при следующем запуске программы восстанавливают их. Сегодня рассмотрим такой пример, как можно реализовать в своем проекте такую функцию.
Первым дело создадим проект, я буду приводить пример для WPF на C#. Но не большая корректировка кода и можно будет использовать как для консоли так и для WinForm приложений.
Создаем параметры.
Выбираем свойство проекта в обозревателе решений и переходим во вкладку Параметры. Другой вариант в обозревателе решений расскрыть списпок Properties и дважды щелкнуть на фаил Settings.settings. Перед вами должно открыться окно параметров.
Следующим шагом будет создания параметров. В поле Имя впишем WindowPosition тип выберем System.Windows.Rect Если в списке его нет, выбираете Обзор и в поле Выбранный тип вводите System.Winfows.Rect и жмете кнопку ок. В поле Область выбираем пользователь. В поле значения измените на 100,0,0,0 или 100;0;0;0
Второй параметр Имя будет Title, тип string Область приложение, значение Window Position этот параметр будет сохранять и загружать имя нашего окна.
Загружаем параметры приложения
Заходим в класс формы и в конструкторе класса пишем код. Так же добавим обработчик события при закрытии окна формы. Полный исходный код класса формы выглядит у меня таким образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
public MainWindow() { InitializeComponent(); // Вешаем обработчик на событие перед закрытием окна. Closing += new CancelEventHandler(MainWindow_Closing); // Восстанавливаем позицию на экране. Left = Properties.Settings.Default.WindowPosition.Left; Top = Properties.Settings.Default.WindowPosition.Top; // Востанавливаем размеры окна. Width = Properties.Settings.Default.WindowPosition.Width; Height = Properties.Settings.Default.WindowPosition.Height; // Востанавливаем заголовок окна. Title = Properties.Settings.Default.Title; } private void MainWindow_Closing(object sender, CancelEventArgs e) { // RestoreBounds - Возвращает размер и расположение окна перед тем как оно было свернуто или развернуто. Properties.Settings.Default.WindowPosition = this.RestoreBounds; // Сохранение настроек. Properties.Settings.Default.Save(); } |
После запуска приложения вы можете изменить позицию окна и ее размер, при закрытии приложения и последующей загрузке программа восстановит свои параметры позиции и размер, а так же восстановит имя окна.
Тип «System.Windows.Rect» не определен.
Помогите прошу вас!
Ссылку добавьте WindowsBase в проекте и подключите using System.Windows; Дальше просто можно в поле тип написать System.Windows.Rect и уже потом использовать в проекте.