-3

我有个问题。我正在 Windows 8 上制作一个带有文本框的应用程序。我希望文本框在我关闭应用程序时记住它的值。

4

4 回答 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 回答