我目前正在编写一个“快速启动程序”,它允许您打开.exe文件并在单击按钮时启动它们。
为此,我使用openFileDialog
让用户打开所需的.exe文件。
此外,我从.exe中提取图标,以便在开始按钮上方显示它。
这使用户可以选择文件(.exe) openFileDialog 的 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();
}
我的代码有问题,还是因为 DialogResult ?
答案 0 :(得分:6)
尝试更改类似的代码:
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string path = openFileDialog1.FileName;
ExtractIcon(path);
}
答案 1 :(得分:5)
您需要将ShowDialog()
的返回值存储在变量中,然后将其与DialogResult.OK
进行比较
var result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK){
string path = openFileDialog1.FileName;
ExtractIcon(path);
}
答案 2 :(得分:2)
什么是DialogResult
变量?不应该是:
var result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
string path = openFileDialog1.FileName;
ExtractIcon(path);
}