打开.exe文件时,openFileDialog DialogResult始终显示NONE

Tim*_*ler 1 c# openfiledialog

我目前正在编写一个"快速启动程序",它允许您打开.exe文件并在单击按钮时启动它们.为此,我使用了一个openFileDialog让用户打开所需的.exe文件.

另外,我从.exe中提取图标以在开始按钮上方显示它.

这使用户能够选择一个文件(.exe)的的DialogResult所述的打开文件对话框示出了没有.它永远不会显示正常,即使我加载正常和工作.exe.

这是我的代码.

private void button1_Click(object sender, EventArgs e)
    {
        openFileDialog1.ShowDialog();
        if (DialogResult == DialogResult.OK)
        {
            string path = openFileDialog1.FileName;
            ExtractIcon(path);
        }
    }

    private void ExtractIcon(string filePath)
    {
        Icon ico = Icon.ExtractAssociatedIcon(filePath);
            pictureBox1.Image = ico.ToBitmap();
    }
Run Code Online (Sandbox Code Playgroud)

我的代码有问题,还是因为DialogResult

Pra*_*ant 7

尝试更改这样的代码:

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
        string path = openFileDialog1.FileName;
        ExtractIcon(path);
}
Run Code Online (Sandbox Code Playgroud)


Jeh*_*hof 5

您需要将返回值存储ShowDialog()在变量中,然后将其与之进行比较DialogResult.OK

var result = openFileDialog1.ShowDialog();

if (result == DialogResult.OK){
  string path = openFileDialog1.FileName;
  ExtractIcon(path);
}
Run Code Online (Sandbox Code Playgroud)