c# 在另一个按钮中使用局部变量
c# use a local variable in another button
我目前正在使用 https://www.limilabs.com/ftp 的 Ftp.dll 库,但在实现“断开连接”按钮时遇到了问题。
当我在 FTPDisconnectbtn_Click
中键入 client.Close();
时,出现错误:
The name 'client' does not exist in the current context.
如果我没理解错的话,那是因为客户端没有在 Disconnect 按钮上指定(我不知道确切的术语),而只在 Connect 按钮上指定。
我想要的是能够在任何其他按钮中重用来自 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 语句中声明。这意味着它是一个局部变量,仅在该使用的块(花括号)内可用。如果您尝试在方法的其余部分访问它,您会得到同样的错误。
您需要做的是为客户端声明一个 class 级别的变量,并将连接存储在其中,以便在其他方法中可用。这意味着您失去了 using 语句为您关闭连接的好处,因此您必须在完成后手动关闭它。
四处搜索 "C# variable scope" 以了解更多信息。这是一个非常重要的问题,您需要了解所有编码。
希望对您有所帮助。
我目前正在使用 https://www.limilabs.com/ftp 的 Ftp.dll 库,但在实现“断开连接”按钮时遇到了问题。
当我在 FTPDisconnectbtn_Click
中键入 client.Close();
时,出现错误:
The name 'client' does not exist in the current context.
如果我没理解错的话,那是因为客户端没有在 Disconnect 按钮上指定(我不知道确切的术语),而只在 Connect 按钮上指定。
我想要的是能够在任何其他按钮中重用来自 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 语句中声明。这意味着它是一个局部变量,仅在该使用的块(花括号)内可用。如果您尝试在方法的其余部分访问它,您会得到同样的错误。
您需要做的是为客户端声明一个 class 级别的变量,并将连接存储在其中,以便在其他方法中可用。这意味着您失去了 using 语句为您关闭连接的好处,因此您必须在完成后手动关闭它。
四处搜索 "C# variable scope" 以了解更多信息。这是一个非常重要的问题,您需要了解所有编码。
希望对您有所帮助。