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

  • Creavite

    Creavite

    8 Mart 2009
  • GoldgenieOfficial

    GoldgenieOff

    23 Temmuz 2009
  • Joshua Bane

    Joshua Bane

    24 Temmuz 2007