ВУЗ:
Составители:
Рубрика:
61
MessageBox.Show("Нет сохраненных размеров");
}
Единственным недостатком такого подхода является необходимость
создавать отдельное свойство для каждого окна, у которого должна со-
храняться информация о расположении и размерах. Если требуется, чтобы
информация о расположении сохранялась у множества различных окон,
тогда, возможно, лучше будет разработать более гибкую систему. Напри-
мер, ниже показан вспомогательный класс, который сохраняет информа-
цию о расположении для любого передаваемого ему окна с помощью
ключа реестра, хранящего имя этого окна.
public class WindowPositionHelper
{
public static string RegPath = @"Software\MyApp\";
public static void SaveSize(Window win)
{
// Create or retrieve a reference to a key where the settings
// will be stored.
RegistryKey key;
key = Registry.CurrentUser.CreateSubKey(RegPath + win.Name);
key.SetValue("Bounds", win.RestoreBounds.ToString());
}
public static void SetSize(Window win)
{
RegistryKey key;
key = Registry.CurrentUser.OpenSubKey(RegPath + win.Name);
if (key != null)
{
Rect bounds = Rect.Parse(key.GetValue("Bounds").ToString());
win.Top = bounds.Top;
win.Left = bounds.Left;
// Only restore the size for a manually sized
// window.
if (win.SizeToContent == SizeToContent.Manual)
{
win.Width = bounds.Width;
Страницы
- « первая
- ‹ предыдущая
- …
- 60
- 61
- 62
- 63
- 64
- …
- следующая ›
- последняя »