使用.NET 4,在关闭时保存应用程序窗口大小和位置的最佳方法是什么,并在下次运行时使用这些值启动应用程序窗口?
我不想触摸任何类型的注册表,但不知道是否有某种app.config(类似于ASP.NET应用程序的web.config),我可以用于Windows Presentation Foundation应用程序。
感谢。
答案 0 :(得分:10)
Form_FormClosed
Form_Load
private void Form1_Load(object sender, EventArgs e)
{
this.Location = new Point(Properties.Settings.Default.LocationX, Properties.Settings.Default.LocationY);
this.Width = Properties.Settings.Default.WindowWidth;
this.Height = Properties.Settings.Default.WindowHeight;
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
Properties.Settings.Default.LocationX = this.Location.X;
Properties.Settings.Default.LocationY = this.Location.Y;
Properties.Settings.Default.WindowWidth = this.Width;
Properties.Settings.Default.WindowHeight = this.Height;
Properties.Settings.Default.Save();
}
MainWindow_Closed
MainWindow_Loaded
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
this.Left = Properties.Settings.Default.LocationX;
this.Top = Properties.Settings.Default.LocationY;
this.Width = Properties.Settings.Default.WindowWidth;
this.Height = Properties.Settings.Default.WindowHeight;
}
void MainWindow_Closed(object sender, EventArgs e)
{
Properties.Settings.Default.LocationX = this.Left;
Properties.Settings.Default.LocationY = this.Top;
Properties.Settings.Default.WindowWidth = this.Width;
Properties.Settings.Default.WindowHeight = this.Height;
Properties.Settings.Default.Save();
}
答案 1 :(得分:1)
如果您要保存一个窗口position
和size
,我建议将其保存在applicationSettings。
如果您要保存更多窗口设置,或者需要管理更多窗口,我建议将其保存在单独的XML
文件中。
编辑
Working with XML standart way example
希望这有帮助。
答案 2 :(得分:0)
我知道很久以前就已经回答了这个问题,但是,这是我在寻找一个体面的解决方案两天后在互联网上找到的最优雅的解决方案。看看这个:
它适用于WPF和WinForms。