我有一个尝试执行事件/方法(Download_Click)的方法,虽然由于某种原因我得到:
当前上下文中不存在"sender"这个名称当前上下文中不存在名称"e"
该按钮肯定存在,但由于某些原因在我的代码中不起作用:
private void checkver()
{
FileInfo sourceFile = new FileInfo("download.zip");
if (sourceFile.Exists)
{
var request = (HttpWebRequest)WebRequest.Create(@"http://www.google.com/download.zip");
request.Method = "HEAD";
var response = (HttpWebResponse)request.GetResponse();
if (response.LastModified > sourceFile.LastWriteTime)
{
MessageBox.Show("File outdated");
Download_Click(sender, e);
// use response.GetStream() to download the file.
}
else
{
MessageBox.Show("File in date");
}
}
}
Run Code Online (Sandbox Code Playgroud)
您收到此消息是因为您的函数中没有名为sender(也没有命名e)的变量.
看起来你已经尽力了按钮的代码移动Click事件处理程序进行到另一个函数(sender和e是,按照惯例,发送到事件处理程序的两个参数的名称).遗憾的是,函数中不存在sender和e变量,因为您没有将它们定义为参数.
这里最好的做法是为Download按钮做同样的事情.不是Click直接调用它的事件处理程序(Download_Click),而是创建一个执行下载的新函数,然后从内部调用该函数Download_Click.然后更改上面的代码直接调用该函数.