我有个问题。我正在 Windows 8 上制作一个带有文本框的应用程序。我希望文本框在我关闭应用程序时记住它的值。
问问题
3033 次
4 回答
1
对此有很多可能的解决方案,
- 一种是通过将值保存在数据库中或
- 通过将其保存在
Settings
.
于 2012-10-06T16:40:53.480 回答
1
于 2012-10-06T16:42:17.290 回答
0
有关可能的解决方案,请参阅其他答案。这里我给你存储文件的伪代码。
创建一个在应用程序启动时调用的回调,然后在它关闭时调用。
当它启动时,加载您的文件,在一个字符串中获取包括 \n 在内的所有文本,并将其设置为文本。
当它关闭时,获取包含 \n 的框中的文本并将其写入文件。
这很简单。我更喜欢这里的存储文件方法,因为:
- Properties.Settings 有点矫枉过正,尽管它是一个可行的选择。
- Windows 注册表可以工作,但它不会是跨平台的(你可能不关心这一点,但确保你的应用程序可以移植总是一个好主意,以防它成功)
于 2012-10-06T16:46:23.433 回答
0
您可以使用该方法将值保存到文件中。
这是一个非常丑陋的例子,请帮助您入门:
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Double val;
val = LoadDoubleValue();
Console.WriteLine("Previous Value was: " + val);
Console.Write("Please enter Value for next startup: ");
string input = Console.ReadLine();
if (Double.TryParse(input, out val))
{
SaveDoubleValue(val);
}
}
static Double LoadDoubleValue()
{
Double ret = 0;
if(File.Exists("save.dat")){
if (!Double.TryParse(File.ReadAllLines("save.dat")[0], out ret))
{
ret = 15;
}
}else{
ret = 15;
}
return ret;
}
static void SaveDoubleValue(Double val)
{
File.WriteAllLines("save.dat", new string[] { val.ToString() });
}
}
}
于 2012-10-06T16:56:11.810 回答