在切换单选按钮C#时加载和保存文本框值

时间:2017-05-24 09:19:35

标签: c# asp.net visual-studio textbox radio-button

我正在使用Visual Studio 2017上的c#构建应用程序。我的界面由几个文本框和两个单选按钮组成。每次关闭应用程序时,我都会将文本框的值保存为两个单独的文本文件。因此,结果我有两个文本文件(对于每个单选按钮)。每次检查单选按钮时,我都会从相应的txt文件中加载文本框值。这是它现在的实施方式:

private void radioButton1_CheckedChanged(object sender, EventArgs e)
    {
        TextBox[] boxes = { textBoxAscStart, textBoxAscStep };
        loadConfigFile(boxes);
    }


private void radioButton2_CheckedChanged(object sender, EventArgs e)
    {
        TextBox[] boxes = { textBoxAscStart, textBoxAscStep };
        loadConfigFile(boxes);
    }


private void loadConfigFile(TextBox[] boxes) {
        try
        {
            string dir = Directory.GetCurrentDirectory();
            string fullName;
            if (radioButton1.Checked == true)
            {
                fullName = dir + "\\Config1.txt";
            }
            else
            {
                fullName = dir + "\\Config2.txt";
            }
            char[] delimiter = new char[] { '\t' };
            using (System.IO.StreamReader file = new System.IO.StreamReader(@fullName))
            {
                for (int i = 0; i < boxes.Length; i++)
                {
                    string[] line = file.ReadLine().Split(delimiter);
                    boxes[i].Text = line[1];
                }
            }
        }
        catch (IOException ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

我知道我是以虚拟方式实现的,所以很抱歉我的代码很差。这种方法可以正常工作,直到您主要处理其中一个radiobuttons检查然后退出应用程序,以便将值写入文件。但是,当用户使用一个单选按钮然后切换到另一个(使用其他值)时,我如何实现这种情况,在那里工作并返回?在我的情况下,他仍然会从文本文件中看到那些旧值。我希望每次用户返回上一个单选按钮时,文本框中的值将是他输入的最新值。我希望我很清楚。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

如果我得到了正确的答案,那么当用户在单选按钮之间切换时,您希望用户在文本框中显示新文本。如果是这样的话:

  

我认为你应该修改两个单选按钮的CheckedChanged事件并添加一个函数   从文本框中获取实际文本并将其与数据进行比较   您已经保存在文本文件中。如果不同则保存   它并使用新文本显示单选按钮,因为你有新文本。如果它是相同的只是使用loadConfigFile(boxes);希望逻辑可以帮助你:)