zoukankan      html  css  js  c++  java
  • ApplicationSettingsBase: 关掉WPF 窗口后,再次打开,显示在上次关闭的位置

    体验比较好的设计,用户再次打开程序的时候,还原到上次关闭前的位置。

    当然了,用户上次设置的颜色,字体等信息,都可以用同样的办法搞定。

     1   /// <summary>
     2     /// Interaction logic for MainWindow.xaml
     3     /// </summary>
     4     public partial class MainWindow : Window
     5     {
     6         WindowApplicationSettings settings = new WindowApplicationSettings();
     7 
     8         public MainWindow()
     9         {
    10             InitializeComponent();
    11             this.Loaded += new RoutedEventHandler(MainWindow_Loaded);
    12             this.Closing += new CancelEventHandler(MainWindow_Closing);
    13         }
    14 
    15         void MainWindow_Closing(object sender, CancelEventArgs e)
    16         {
    17             settings.WinText = tb.Text;
    18             settings.WinLocation = new Point(this.Left, this.Top);
    19             settings.Save();
    20         }
    21 
    22         void MainWindow_Loaded(object sender, RoutedEventArgs e)
    23         {
    24             settings.Reload();
    25             tb.Text = settings.WinText;
    26             this.Left = settings.WinLocation.X;
    27             this.Top = settings.WinLocation.Y;
    28         }
    29     }
    30 
    31     /// <summary>
    32     /// Helper class used to save the settings in configuration file
    33     /// </summary>
    34     public class WindowApplicationSettings : ApplicationSettingsBase
    35     {
    36         [UserScopedSettingAttribute()]
    37         public String WinText
    38         {
    39             get { return (String)this["WinText"]; }
    40             set { this["WinText"] = value; }
    41         }
    42 
    43         [UserScopedSettingAttribute()]
    44         [DefaultSettingValueAttribute("0, 0")]
    45         public Point WinLocation
    46         {
    47             get { return (Point)(this["WinLocation"]); }
    48             set { this["WinLocation"] = value; }
    49         }
    50 
    51     }
  • 相关阅读:
    Vim基本功
    八个最常用的正则表达式
    程序员总结:帮助你早些明白一些道理
    HttpClient
    Red.Hat.Enterprise.Linux.6.2下安装vim 、OpenOffice、JDK、Eclipse
    输出打印某个对象所有属性及属性值
    Notepad++
    写博客?
    解决操作WordPress时提示输入FTP信息
    JS通过键盘点击事件实现div移动
  • 原文地址:https://www.cnblogs.com/xiaokang088/p/2567796.html
Copyright © 2011-2022 走看看