我有一个打开OpenFileDialog的按钮。当我编译应用程序时,首次运行它,按下按钮,选择文件然后按下接受对话框按钮,等待大约一分钟后再将所选文件添加到我的列表框中。 / p>
如果我关闭应用程序,重新启动它并执行与上面相同的操作,一切都能正常运行。从那以后它总是很快。这是我第一次在编译后运行它时太慢了。
代码摘录如下。对话框有什么问题?为什么它第一次运行缓慢?谢谢。
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;
}
}
答案 0 :(得分:0)
如果您在首次初始化时遇到这种缓慢的问题,我的建议将在下面列出以纠正此问题。
对于VS调试,在Visual Studio IDE中,只需转到工具>选项>调试。查找名为[符号]的设置页面。单击它以加载页面内容。在右侧面板上,如果选中“Microsoft Symbol Servers”复选框,则取消选中它并按“Ok”保存设置。现在运行已编译的exe,如果问题仍然存在,那么我建议在你的电脑上执行一些清理操作。还要确保所有及时的VS更新都包含在您的VS中。让我知道如果这有帮助,我们可以找出其他的东西。
答案 1 :(得分:0)
在显示Directory.GetFiles(folderPath);
窗口之前尝试调用OpenFileDialog
。这可能会触发您使用当前方法第一次执行OpenFileDialog
后发生的缓存。