从 main 访问 void 中的变量



我的Form1_Load:

private void Form1_Load(object sender, EventArgs e)
{
    Thread Usern = new Thread(new ThreadStart(Username));
    Usern.Start();
}

和我的用户名功能:

public static void Username()
{
    try
    {
        string user = Environment.UserName;
        MessageBox.Show(user.ToString());
    }
    catch(Exception exc)
    { 
        MessageBox.Show(exc.Tostring()); 
    }
}

有谁知道我会如何在事件内部调用上述 ^ 中使用的"用户"Form_Load?我尝试将函数返回类型更改为字符串,但它说这是一个无效的更改。我知道我可以将函数中的代码复制并粘贴到form_load事件中,但它必须在函数中。

提前谢谢你们,很抱歉这样一个"愚蠢的问题",因为我在 SO 上没有找到任何与我的问题相关的内容。

您可能

应该user实例变量而不是局部变量 - 换句话说,在您的类中声明它:

private string user;

然后在Username()(应重命名为 DetectUserName 或类似名称)中,您将拥有:

user = Environment.UserName;

不过,您的方法应该是实例方法,以便它与类的实例相关联 - 从方法声明中删除 static 关键字。

不过,完全不清楚为什么要在不同的线程中执行此操作......

最新更新