• 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     }
  • 相关阅读:
    PhpStorm Swoole 和 CI 代码自动补全
    python正则表达式匹配多行
    ES6 Template Strings(转)
    IntelliJ隐藏特定后缀文件
    网络游戏术语(转)
    mac查看当前调用tcp的进程并关闭指定进程
    袭击Mercurial SCM(HG)
    T 泛型转换
    UiAutomator源代码分析之UiAutomatorBridge框架
    ASP.NET MVC 入门8、ModelState与数据验证
  • 原文地址:https://www.cnblogs.com/xiaokang088/p/2567796.html
Copyright © 2020-2023  润新知