SORU
11 Mayıs 2009, PAZARTESİ


.NET WPF oturumlar arasında pencere boyutunu Hatırla

Benim kullanıcı uygulama penceresi yeniden boyutlandırıldığında temelde uygulama yeniden açıldığında aynı boyutta tekrar olmak istiyorum.

İlk ben işleme rağmen olay SizeChanged ve Yükseklik ve Genişliğini kaydetmek, ama daha kolay bir çözümü olmalı bence.

Çok basit bir sorun ama kolay çözüm bulamıyorum.

CEVAP
11 Mayıs 2009, PAZARTESİ


Kullanıcı değerleri kaydedin.yapılandırma dosyası.

Ayarlar dosyasında değeri oluşturmak için ihtiyacınız olacak Özellikleri klasör olmalı. Beş değerleri oluşturun:

  • 3* *tip Top
  • 5* *Tipi Left
  • 7* *tür Height
  • Tür Width double
  • Tipi bool - pencere ekranı olup olmadığını tutmak için Maximized. Eğer daha fazla bilgi saklamak istiyorsanız o zaman farklı bir türü ya da bir yapıya ihtiyaç duyulmaktadır.

Ve uygulamanız için varsayılan ikinci boyutu 0 ve false sonuncusu ilk iki yeniden.

Kurucu:

this.Top = Properties.Settings.Default.Top;
this.Left = Properties.Settings.Default.Left;
this.Height = Properties.Settings.Default.Height;
this.Width = Properties.Settings.Default.Width;
// Very quick and dirty - but it does the job
if (Properties.Settings.Default.Maximised)
{
    WindowState = WindowState.Maximized;
}

Window_Closing olay işleyicisi oluşturun ve şunları ekleyin:

if (WindowState == WindowState.Maximized)
{
    // Use the RestoreBounds as the current values will be 0, 0 and the size of the screen
    Properties.Settings.Default.Top = RestoreBounds.Top;
    Properties.Settings.Default.Left = RestoreBounds.Left;
    Properties.Settings.Default.Height = RestoreBounds.Height;
    Properties.Settings.Default.Width = RestoreBounds.Width;
    Properties.Settings.Default.Maximised = true;
}
else
{
    Properties.Settings.Default.Top = this.Top;
    Properties.Settings.Default.Left = this.Left;
    Properties.Settings.Default.Height = this.Height;
    Properties.Settings.Default.Width = this.Width;
    Properties.Settings.Default.Maximised = false;
}

Properties.Settings.Default.Save();

Bu başarısız olursa kullanıcı ekran alanı daha küçük ya da çözmek, bir ekran veya değişen ekran çözünürlüğü - uygulama kapalı sen de Ekle bir kontrol edin istediğiniz yeri ve boyutu hala geçerli uygulamadan önce değerleri.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Benjamin Heckendorn

    Benjamin Hec

    4 Mayıs 2008
  • Jeremy Gallman

    Jeremy Gallm

    11 NİSAN 2012
  • nigahiga

    nigahiga

    21 Temmuz 2006