C#在两个事件处理程序之间传递变量

时间:2014-03-15 22:32:21

标签: c#

我有一个关于将变量从一个事件处理程序传递到另一个事件的问题。具体来说,这是我的代码:

    private void Form1_Load(object sender, EventArgs e)
    {
        string loggedIn = File.ReadLines("Data.txt").Last();

    }

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        writingToTxtFile();
    }

我想将变量“loggedIn”(或其值)传递给方法“Form1_FormClosing”(具体到“writingToTxtFile”函数)。我想到的唯一解决方案是使用全局变量。有没有办法避免这种情况?

3 个答案:

答案 0 :(得分:3)

你可以这样做:

private string _loggedIn;

private void Form1_Load(object sender, EventArgs e)
{
    _loggedIn = File.ReadLines("Data.txt").Last();
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    //do something with _loggedIn
    writingToTxtFile();
}

答案 1 :(得分:0)

在私有字符串中存储函数但在类中。

答案 2 :(得分:-1)

您可以创建页面属性,它将通过页面事件和方法填充。 你可以在任何方法中使用它。

您已将变量的范围更改为所有页面范围。