我已经构建了一个包含某些表单的Windows表单应用程序。我想在某个表单上创建一个按钮来保存其状态。
例如,如果我有一个用户输入的文本框" Hello"并按下保存按钮,当他回到此表格时,文本框仍然会说"你好"。我希望它只发生在程序的相同执行中,这意味着当程序关闭并重新打开时,文本框不会说" Hello"不再(这就是为什么设置不符合我的需要我相信,因为他们保持执行之间的变化)。
答案 0 :(得分:3)
由于您只希望表单在应用程序运行时保持其状态,因此解决方案非常简单:永远不要关闭表单,只需隐藏它即可。当您准备再次显示它时,请显示它。它将重新出现在屏幕上,一切都与它完全一样。 (当然,除非您循环控制并重置其属性。)
在最简单的情况下,您可以通过将this.Close
的调用替换为this.Hide
来实现此目的。但它可能比这更复杂,因为用户可以用大红色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
}
}
请注意,此代码会检查关闭原因,并确保它是用户启动的关闭请求。这是非常重要的。如果省略此部分,则无法以编程方式关闭表单!
答案 1 :(得分:0)
将您的数据存储在静态变量中,它们将一直存在,直到您关闭程序。
static string textboxText = textbox1.text;