FTPサーバーをチェックしてディレクトリのすべてのファイルを一覧表示するアプリケーションで作業していますが、 。 最初の問題は、BackGroundワーカーからListViewにアクセスできない、別の方法(Arrayでリストを保存してからBackGround Worker Process Completeで更新)を使用しましたが、それはうまくいきませんでした。 次に、私は隠されていた同じ機能を実行する別のフォームを使用しましたが、プログラムは依然としてFTPファイルのリストを表示しませんでした。 実際、このディレクトリのファイル(ftp://blah/subdir/[filesはここにあります)をListView1にリストしたいだけです。 UIをフリーズしないとどうなるでしょうか?私はバックグラウンドワーカーを使用しようとしましたが、動作しませんでした。どのように動作させることができますか? はここでコードListViewのFTPからListViewのFTPからBackGround Workerを使ってファイルを一覧表示する
機能
public string[] ListDirectory()
{
string hostdir = textBoxX2.Text + textBoxX3.Text;
var request = createRequest(hostdir,WebRequestMethods.Ftp.ListDirectory);
using (var response = (FtpWebResponse)request.GetResponse())
{
using (var stream = response.GetResponseStream())
{
using (var reader = new StreamReader(stream, true))
{
while (!reader.EndOfStream)
{
listView1.Items.Add(reader.ReadLine());
}
}
}
}
List<string> l = new List<string>();
return l.ToArray();
}
private FtpWebRequest createRequest(string uri, string method)
{
var r = (FtpWebRequest)WebRequest.Create(uri);
r.Credentials = new NetworkCredential(textBoxX4.Text, textBoxX5.Text);
r.Method = method;
return r;
}
作品上記のコードである。しかしUIをフリーズする、と私は、バックグラウンドワーカーを使用する場合、同じように動作していない機能のいくつかは、それが上か、似たような作成されたオブジェクトからListView1のにアクセスすることはできません。
どれヘルプおくる... おかげ
本当にありがとう、これは完璧に働いたが、何について。そして..? – SHoCK
どうすれば削除できますか?そして.. [DOTS] – SHoCK
私はこのFTP要求が返す文字列の形式に慣れていませんが、ディレクトリ名がどこにあるかを知ることができれば、 '.'または' .. '。 –