Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c在另一个按钮中使用局部变量_C#_Function_Button_Call_Reusability - Fatal编程技术网

C# c在另一个按钮中使用局部变量

C# c在另一个按钮中使用局部变量,c#,function,button,call,reusability,C#,Function,Button,Call,Reusability,我目前正在从玩Ftp.dll库,在实现断开按钮时遇到问题 当我输入client.Close时;在FTPDisconnectbtn\u中,单击我得到错误信息: 当前上下文中不存在名称“客户端” 如果我理解正确,那是因为没有指定客户端,我不知道断开按钮中的确切术语,但只知道连接按钮上的术语 我想要的是能够从任何其他按钮的FTPConnectbtn_Click功能重用客户端 如何正确地做到这一点 非常感谢你帮助我 我当前的代码: private void FTPConnectbtn_C

我目前正在从玩Ftp.dll库,在实现断开按钮时遇到问题

当我输入client.Close时;在FTPDisconnectbtn\u中,单击我得到错误信息:

当前上下文中不存在名称“客户端”

如果我理解正确,那是因为没有指定客户端,我不知道断开按钮中的确切术语,但只知道连接按钮上的术语

我想要的是能够从任何其他按钮的FTPConnectbtn_Click功能重用客户端

如何正确地做到这一点

非常感谢你帮助我

我当前的代码:

        private void FTPConnectbtn_Click(object sender, EventArgs e)
    {
        using (Ftp client = new Ftp())
        {
            if (FTPSSLcheck.Checked)
            {
                client.ConnectSSL(FTPhosttext.Text);
            }
            else
            {
                client.Connect(FTPhosttext.Text);
            }
            client.Login(FTPusertext.Text, FTPpasstext.Text);
            Limilabs.FTP.Log.Enabled = true;
            Limilabs.FTP.Log.WriteLine += Console.WriteLine;

            client.ChangeFolder("pub");

            List<FtpItem> items = client.GetList();

            foreach (FtpItem item in items)
            {
                FTPlistBox1.DataSource = items;
            }
        }
    }


    private void FTPDisconnectbtn_Click(object sender, EventArgs e)
    {
     client.Close();
    }

这与软件包无关,但这是一个基本的C问题。basic这个词并不是用来侮辱人的,更重要的是,它是一个你需要理解的基本问题

客户端变量在FTPConnectbtn_Click方法的using语句中声明。这意味着它是一个局部变量,仅在块花括号中可用。如果您试图在方法的其余部分访问它,您将得到相同的错误

您需要做的是为客户机声明一个类级变量,并在其中存储连接,以便在其他方法中可用。这意味着您将失去using语句为您关闭连接的好处,因此您必须在完成后手动关闭它

搜索C变量范围以获取有关此操作的更多信息。这是一个非常重要的问题,您需要了解所有的编码


希望有帮助。

忘记添加了,这两个按钮位于同一表单上!将客户端设置为表单中的一个字段或属性。由于使用了using语句,客户端在呼叫FTPConnectbtn\u Click完成时不是已经关闭了吗?因此关闭按钮没有意义?非常感谢!它确实有用!我发现了一个关于变量范围的非常好的介绍,它真的帮助了我!