private void GetFileLengthCallback(IAsyncResult result) { GetFileLengthHandler handler = (GetFileLengthHandler)((AsyncResult)result).AsyncDelegate; fileLength = handler.EndInvoke(result); //取得文件的长度,开始导入 Log("获取到 " + fileLength.ToString() + " 行数据, 开始导入..."); ImportFileHandler importFileHandler = new ImportFileHandler(ImportFile); IAsyncResult importResult = importFileHandler.BeginInvoke(filePath, new AsyncCallback(ImportFileCallback), null); }
private void Btn_import_Click(object sender, EventArgs e) { btn_import.Enabled = false; //禁用按钮 filePath = tb_file.Text.Trim(); //文件路径 fileLength = 0; UpdateProgressBar(0); domains = Queue.Synchronized(new Queue()); //初始化domains Log("正在获取文件信息..."); GetFileLengthHandler fileLengthHandler = new GetFileLengthHandler(FileOperation.GetFileLength); IAsyncResult result = fileLengthHandler.BeginInvoke(filePath, new AsyncCallback(GetFileLengthCallback), null); }