private void btnDownload_Click(object sender, System.EventArgs e)
        {
            if ((lbList.SelectedIndex > -1) &&
                (lbList.Items[lbList.SelectedIndex].ToString() != "") &&
                (lbList.Items[lbList.SelectedIndex].ToString()[0] != '/'))
            {
                saveFileDialog1.FileName = lbList.Items[lbList.SelectedIndex].ToString();
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    int size     = (int)ftp1.GetFileSize(lbList.Items[lbList.SelectedIndex].ToString());
                    int position = 0;

                    if (File.Exists(saveFileDialog1.FileName))
                    {
                        DialogResult fileExistsResult = FileExistsDialog.ShowFileDialog(saveFileDialog1.FileName);
                        if (fileExistsResult == DialogResult.Cancel)
                        {
                            return;
                        }

                        FileInfo fileInf = new FileInfo(saveFileDialog1.FileName);
                        if ((fileExistsResult == DialogResult.No) && (size > fileInf.Length))
                        {
                            position = (int)fileInf.Length;
                        }
                    }

                    progressBar1.Minimum = 0;
                    progressBar1.Maximum = size;
                    progressBar1.Value   = position;

                    using (FileStream dest = new FileStream(saveFileDialog1.FileName, FileMode.Create))
                    {
                        ftp1.GetFile(lbList.Items[lbList.SelectedIndex].ToString(), dest, position, -1);
                    }
                    MessageBox.Show("Done");
                }
            }
        }
        private void btnDownload_Click(object sender, System.EventArgs e)
        {
            if ((lbList.SelectedIndex > -1) &&
                (lbList.Items[lbList.SelectedIndex].ToString() != "") &&
                (lbList.Items[lbList.SelectedIndex].ToString()[0] != '/'))
            {
                saveFileDialog1.FileName = lbList.Items[lbList.SelectedIndex].ToString();
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    progressBar1.Minimum = 0;
                    progressBar1.Maximum = (int)ftp1.GetFileSize(lbList.Items[lbList.SelectedIndex].ToString());
                    progressBar1.Value   = 0;

                    using (FileStream dest = new FileStream(saveFileDialog1.FileName, FileMode.Create)) {
                        ftp1.GetFile(lbList.Items[lbList.SelectedIndex].ToString(), dest);
                    }
                    MessageBox.Show("Done");
                }
            }
        }