OpenFileDialogを開くボタンがあります。アプリケーションをコンパイルするときは、初めて実行し、ボタンを押してファイルを選択してから、受け入れダイアログボタンを押すと、リストボックスに選択したファイルを追加するまで約1分間待機します。C# - OpenFileDialogが初めてOKを押すと遅すぎる
アプリケーションを終了して再起動して上記と同じことをすると、すべて正常に動作します。それ以来、常に高速に動作します。私がコンパイルしたあと遅すぎると実行したのは初めてのことです。
コード抽出は以下のとおりです。ダイアログで何が間違っているのでしょうか?なぜそれは最初にゆっくりと動くのですか?ありがとうございました。
void ButtonAddClick(object sender, EventArgs e)
{
this.openFileDialog.FileName = String.Empty;
this.openFileDialog.InitialDirectory = this.openPath;
if (this.openFileDialog.ShowDialog() == DialogResult.OK)
{
foreach (string file in this.openFileDialog.FileNames)
{
if (!File.Exists(file))
{
this.ShowStatus("Error occured selecting file " + Path.GetFileName(file));
}
else if (!this.listBoxFiles.Items.Contains(file))
{
this.listBoxFiles.Items.Insert(0, file);
}
else{
this.ShowStatus("File " + Path.GetFileName(file) + " already selected");
}
}
}
if (this.listBoxFiles.Items.Count > 0)
{
this.openPath = Path.GetDirectoryName(this.listBoxFiles.Items[0].ToString());
this.listBoxFiles.Enabled = true;
this.buttonClear.Enabled = true;
this.buttonFolder.Enabled = true;
}
}
あなたはVSでアプリケーションを実行していますか、デバッグしていますか?同じ問題が存在するかどうかを確認するために、コンパイルを試してからリリースフォルダからアプリケーションを手動で実行しましたか? – Mikanikal
どこから実行しても問題ありませんし、デバッグモードでもリリースモードでも問題ありません。私はSharpDevelopを使用します。私はopenfilesdialogだけを追加する必要があります、最初の時間が遅く、他のダイアログが正常にrunnigです。 – linuxoid
1分の遅延の間にデバッガに侵入し、スレッドが何をしているかを確認します。 –