.net – 保存并恢复表单的位置和大小

前端之家收集整理的这篇文章主要介绍了.net – 保存并恢复表单的位置和大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在WinForms 2.0 C#应用程序中,在应用程序中用于保存和恢复表单位置和大小的典型方法是什么?

相关的是,是否可以在RUN RUN中添加新的用户范围的应用程序设置?我完全看到如何在设计时添加设置,这不是问题.但是如果我想在运行时创建一个?

更多细节:

我的应用程序是现有Visual FoxPro应用程序的转换.我一直在尝试尽可能多地阅读应用程序设置,用户设置等,并以.Net的方式清除自己的事情,但仍然有几件我困惑的事情.

在Fox应用程序中,保存的设置存储在注册表中.我的表单是子类,我有基类代码,自动将表单位置和大小保存在表单名称中键入的注册表中.每当我创建一个新的表单,我不必做任何特别的事情来得到这个行为;它是建立在基础类.我的.Net表单也是子类,这部分工作得很好.

在.Net中,我得到我应该使用用户作用域设置的用户喜好的印象.表单的大小和位置绝对好像用户偏好.但是,我看不到任何方式自动将这些设置添加到项目中.换句话说,每当我向我的项目添加一个新表单(并且它们是100的表单)时,我必须记住添加一个用户范围的应用程序设置,并确保给它与表单相同的名称,即“ FormMySpecialSizePosition“来保存大小和位置.我宁愿不必记住这样做.这是否只是艰难的运气?或者我是通过尝试使用用户范围的设置来完全错误的树?我需要创建自己的XML文件以保存设置,以便我可以做任何我想要的(即在运行时添加一个新的设置)?或者是其他东西?

当然这是很常见的,有人可以告诉“正确”的做法.提前致谢!

解决方法

private void Form1_Load( object sender,EventArgs e )
{
    // restore location and size of the form on the desktop
    this.DesktopBounds =
        new Rectangle(Properties.Settings.Default.Location,Properties.Settings.Default.Size);
    // restore form's window state
    this.WindowState = ( FormWindowState )Enum.Parse(
        typeof(FormWindowState),Properties.Settings.Default.WindowState);
}

private void Form1_FormClosing( object sender,FormClosingEventArgs e )
{
    System.Drawing.Rectangle bounds = this.WindowState != FormWindowState.Normal ? this.RestoreBounds : this.DesktopBounds;
    Properties.Settings.Default.Location = bounds.Location;
    Properties.Settings.Default.Size = bounds.Size;
    Properties.Settings.Default.WindowState =
        Enum.GetName(typeof(FormWindowState),this.WindowState);
    // persist location,size and window state of the form on the desktop
    Properties.Settings.Default.Save();
}
原文链接:https://www.f2er.com/html/224889.html

猜你在找的HTML相关文章