CodeGo.net>如何保存表格的状态?

我已经构建了一个包含某些表单的Windows表单应用程序.我想在某种形式上创建一个按钮来保存其状态.

例如,如果我有一个文本框,其中用户键入“ Hello”并按保存按钮,则当他返回此表单时,该文本框仍会显示“ Hello”.我希望它仅在程序的同一执行中发生,这意味着当程序关闭并重新打开时,文本框不再显示“ Hello”(这就是为什么我认为设置不符合我的需要,因为它们会不断执行之间的变化).

解决方法:

因为您只希望表单在应用程序运行时保持其状态,所以解决方案非常简单:永远不要关闭表单,而只是隐藏它.当您准备再次显示它时,请显示它.它会重新出现在屏幕上,所有内容都与原来的一样. (当然,除非循环浏览控件并重置其属性.)

在最简单的情况下,您可以通过用this.Hide替代对this.Close的调用来完成此操作.但这可能比这更复杂,因为用户可以使用红色的大X来关闭您的表单.为了确保所有关闭表单的尝试都被隐式地重新路由,因为隐藏表单的请求需要一些技巧:

private void MyForm_FormClosing(object sender, FormClosingEventArgs e)
{
    if (e.CloseReason == CloseReason.UserClosing)
    {
        e.Cancel = true;  // cancel the request to close
        this.Hide();      // hide the form instead
    }
}

请注意,此代码检查关闭原因,并确保它是用户启动的关闭请求.这个非常重要.如果省略此部分,则也无法以编程方式关闭表单!

上一篇:最小化C#击键拦截器


下一篇:如何在C#中启动CellContentDoubleClick?