首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止FolderBrowserDialog崩溃?

如何防止FolderBrowserDialog崩溃?
EN

Stack Overflow用户
提问于 2013-12-12 07:01:09
回答 2查看 243关注 0票数 0

当FolderBrowserDialog出现时,我按下“关闭”按钮或“取消”按钮,它将显示一条错误消息。我该怎么办?

谢谢。

这是我的密码。

代码语言:javascript
复制
private void openSlideShowFolder_Click(object sender, EventArgs e)
{
    folderBrowserDialog1.ShowDialog();
    string[] pics1 = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.jpg");
    string[] pics2 = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.jpeg");
    string[] pics3 = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.bmp");
    folderFile = new string[pics1.Length + pics2.Length + pics3.Length];
    Array.Copy(pics1, 0, folderFile, 0, pics1.Length);
    Array.Copy(pics2, 0, folderFile, pics1.Length, pics2.Length);
    Array.Copy(pics3, 0, folderFile, pics1.Length + pics2.Length, pics3.Length);
    selected = 0;
    showImage(folderFile[selected]);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-12 07:14:37

如前所述,您需要捕捉对话框是否返回OK。看看这是否有帮助:

代码语言:javascript
复制
private void openSlideShowFolder_Click(object sender, EventArgs e)
{
    if(folderBrowserDialog1.ShowDialog() == DialogResult.OK)
    {
    string[] pics1 = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.jpg");
    string[] pics2 = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.jpeg");
    string[] pics3 = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.bmp");
    folderFile = new string[pics1.Length + pics2.Length + pics3.Length];
    Array.Copy(pics1, 0, folderFile, 0, pics1.Length);
    Array.Copy(pics2, 0, folderFile, pics1.Length, pics2.Length);
    Array.Copy(pics3, 0, folderFile, pics1.Length + pics2.Length, pics3.Length);
    selected = 0;
    showImage(folderFile[selected]);
    }
}
票数 2
EN

Stack Overflow用户

发布于 2013-12-12 07:13:42

ShowDialog的文档显示它给出了一个结果,告诉您用户是否单击OK。您的代码假设用户总是单击OK,不管结果如何,它都在继续。您需要检查返回值,并且只在它是DialogResult.OK时才继续。

如果即使用户单击“取消”或“关闭”,但仍将继续操作,则其他一些假设可能始终有效,但可能不成立。特别是,没有用户选择的路径,因为用户没有选择任何内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20537017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档