2010-02-28 97 views

回答

9

您可以使用OpenFileDialog.DereferenceLinks屬性來影響該行爲(see doc)。

var dlg = new OpenFileDialog(); 
dlg.FileName = null; 
dlg.DereferenceLinks = false; 

if (dlg.ShowDialog() == DialogResult.OK) { 
    this.label1.Text = dlg.FileName; 
} 

var dlg = new OpenFileDialog(); 
dlg.FileName = null; 
this.openFileDialog1.Filter = "Link (*.lnk)|*.lnk"; 

if (dlg.ShowDialog() == DialogResult.OK) { 
    this.label1.Text = dlg.FileName; 

這兩種方法都產生.lnk文件,然而,第一種方法允許.lnk文件普通文件的選擇,而第二隻選擇.lnk文件。

1

下面的代碼返回.LNK文件名對我來說

public static string PromptForOpenFilename (Control parent) 
    { 
    OpenFileDialog dlg = new OpenFileDialog(); 

    dlg.Filter = "Link (*.lnk)|*.lnk"; 
    dlg.Multiselect = false; 
    dlg.FileName = null; 

    DialogResult res; 
    if (null != parent) 
     res = dlg.ShowDialog (parent); 
    else 
     res = dlg.ShowDialog(); 

    if (DialogResult.OK == res) 
     return dlg.FileName; 
    return null; 
    } 
+0

將只返回的.lnk文件thouth。 DereferenceLinks允許選擇普通文件或.lnk文件。 – AxelEckenberger 2010-02-28 11:15:03

相關問題