自动持久化窗体设置的类






2.33/5 (9投票s)
2003年10月29日
1分钟阅读

41996

1043
这个类可以自动保存表单的设置。
引言
Windows 表单的一个常见需求是记住表单的最后位置、大小和状态。一种方法是在表单加载和关闭时调用一个函数。我决定以面向对象的方式来做。如果你的表单继承了这个类,它将自动加载和保存表单设置;左侧、顶部、高度、宽度和状态;到一个 .config 文件中。
使用代码
在 C# 项目中使用这个类
- 将 "PersistentForm.cs" 类添加到你的项目中。
- 在表单代码的顶部,将 "
using KrugismSamples
" 添加到引用列表中。 - 更改
public class Form1 : System.Windows.Forms.Form
to
public class Form1 : PersistentForm
就完成了!当表单加载时,保存的值将被设置到表单上。当表单关闭时,设置将被保存。
在 VB.NET 项目中使用这个类
- 在你的 VB 解决方案中添加一个新的现有项目,并浏览到 "PersistentForm.csproj" 文件。
- 在“添加引用”的“项目”选项卡中,添加对
PersistentForm
类的引用。 - 在源代码的顶部添加 "
Imports KrugismSamples
"。 - 更改
Inherits System.Windows.Forms.Form
to
Inherits PersistentForm
就完成了!当表单加载时,保存的值将被设置到表单上。当表单关闭时,设置将被保存。
概述
这个类非常简单明了。它只是继承了 Windows.Forms.Form
类。然后它重写了 OnCreateControl()
和 OnClosing()
事件。通过重写基本事件,无需向表单添加额外的代码。(LoadSettings()
和 SaveSettings()
代码未在此处显示。)
public class PersistentForm : System.Windows.Forms.Form
{
public PersistentForm()
{
}
protected override void OnCreateControl()
{
LoadSettings(); // Load the saved settings from the file
base.OnCreateControl ();
}
protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
SaveSettings(); // Save the settings to the file
base.OnClosing(e);
}
}
历史
- 2003-10-30 - 为完整性而编辑
- 2003-10-29 - 初始发布