C# 关闭Form2时Form1执行方法不起作用

C# 关闭Form2时Form1执行方法不起作用,c#,winforms,visual-studio,frame,C#,Winforms,Visual Studio,Frame,我目前正在用VS Community 2017用C编写一个应用程序,用于计算和组织汽车的汽油量、每100公里多少升等。。 我有两个框架,一个用于显示所有数据的概述,另一个用于输入新数据。当有人输入新数据时,我希望在第1帧刷新。因此,我有一种方法,可以使用保存了所有数据的文件中的内容更改标签的文本。 所以我的问题似乎和这个问题相似,但不知怎么的,标签的文本并没有改变。我也试过了,但在这里,标签文本不会改变。我没有得到任何错误,所以我不能提供这个,但我认为解决方案1不起作用,因为我不只是使用一个框架

我目前正在用VS Community 2017用C编写一个应用程序,用于计算和组织汽车的汽油量、每100公里多少升等。。 我有两个框架,一个用于显示所有数据的概述,另一个用于输入新数据。当有人输入新数据时,我希望在第1帧刷新。因此,我有一种方法,可以使用保存了所有数据的文件中的内容更改标签的文本。 所以我的问题似乎和这个问题相似,但不知怎么的,标签的文本并没有改变。我也试过了,但在这里,标签文本不会改变。我没有得到任何错误,所以我不能提供这个,但我认为解决方案1不起作用,因为我不只是使用一个框架,而是使用另一个已经存在的框架的实例。 以下是代码中最重要的部分: 框架1:

框架2:

using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Input_TC
{
    public partial class f_Input : Form
    {
        long Tacho = 0;
        double km=0, price=0, tanked = 0;
        string path = Directory.GetCurrentDirectory()+ "DataTC.txt";

        public f_Input()
        {
            InitializeComponent();
        }

        private void cmd_Save_Click(object sender, EventArgs e)
        {
            ...

            if(!File.Exists(path))
                File.WriteAllText(path, output);
            else
                File.AppendAllText(path, output);

            TankCheck_PC_Edition.f_StartTC Test = new TankCheck_PC_Edition.f_StartTC();

            Test.Reload();

            Close();
        }
    }
}
在哪里。。。跳过了不重要的代码。谢谢你的帮助

多次调用重新加载方法,但path变量仅在第一次调用函数时有效。下次更改变量时,路径无效,并发生异常

您可以这样解决问题:

public void Reload()
{
    var fullPath = path + "DataTC.txt";
    try { lbl_test.Text = File.ReadAllText(fullPath); } catch (Exception ex) { }
}

为什么有path+=DataTC.txt;在重新加载方法中?在“重新加载”中添加一个断点,看看它是否在form2关闭时命中。谢谢,我完全忘记了它每次都会添加它^
public void Reload()
{
    var fullPath = path + "DataTC.txt";
    try { lbl_test.Text = File.ReadAllText(fullPath); } catch (Exception ex) { }
}