1.控制窗体加载时的位置
第一次运行Windows窗体时,窗体一般都有一个默认的显示位置,一般由属性StartPosition指定。
常用属性
(1)CenterParent:窗体在其父窗体中居中
(2)CenterScreen
:窗体在当前显示窗体·中居中,尺寸在窗体大小中指定
(3)Manual:窗体的位置由Location属性确定
(4)WindowsDefaultBounds:窗体定位在Windows默认位置,边界也由Windows默认决定
(5)WindowsDefaultLocation:窗体定位在Windows默认位置,尺寸在窗体大小中指定
2.设置窗体在屏幕中的位置
通过Left和Top属性可以准确地设置窗体的位置
private void Form1_Load(object sender, EventArgs e)
{
this.Left = 500;
this.Top = 500;
}
3.从上次关闭位置启动窗体
次功能主要是通过在注册表中读写窗体的Location属性来实现的。在窗体关闭前处理窗体的FormClosed事件,将窗体的Location属性值写入注册表,然后在窗体的Load事件中从注册表中读取保存的数据。
知识点
(1)Location属性
Point结果,表示窗体的左上角相对桌面的
左上角的坐标。
(2)读写注册表
c#中对注册表进行读写,主要是通过RegistryKey类的GetValue和SetValue方法来实现的。
代码
/// <summary>
/// 窗体加载时获取窗体上次结束时的位置
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
RegistryKey myReg1, myReg2; //声明注册表对象
myReg1 = Registry.CurrentUser; //获取当前用户注册表项
try
{
myReg2 = myReg1.CreateSubKey("Software\\MySoft"); //在注册表项中创建子项
this.Location = new Point(Convert.ToInt16(myReg2.GetValue("1")), Convert.ToInt16(myReg2.GetValue("2"))); //设置窗体的显示位置
}
catch
{
}
}
/// <summary>
/// 窗体关闭前记录窗体的当前位置
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
RegistryKey myReg1, myReg2; //声明注册表对象
myReg1 = Registry.CurrentUser; //获取当前用户注册表项
myReg2 = myReg1.CreateSubKey("Software\\MySoft"); //在注册表项中创建子项
try
{
myReg2.SetValue("1", this.Location.X.ToString());
myReg2.SetValue("2", this.Location.Y.ToString());
}
catch
{
}
}
4.让窗体始终在桌面最顶层显示
Windows桌面上允许运行多个窗体同时显示,但是只有一个窗体能够得到焦点。其他窗体会被得到焦点的窗体遮挡,下面我们来看看如何使窗体始终显示在最顶层。
方法:
将窗体的TopMost属性设置为true