2010-02-28 17 views
8

चुनने की अनुमति देने के लिए सेट किया जा सकता है, मैं एक संवाद दिखाना चाहता हूं जो उपयोगकर्ता को शॉर्टकट (.lnk) फ़ाइल चुनने की अनुमति देगा। मेरी समस्या यह है कि संवाद फ़ाइल/यूआरएल प्राप्त करने का प्रयास करता है, शॉर्टकट बजाय .lnk फ़ाइल को इंगित करता है।क्या .NET OpenFileDialog उपयोगकर्ता को .lnk फ़ाइल

मैं इसे .lnk फ़ाइलों का चयन करने की अनुमति कैसे दे सकता हूं?

उत्तर

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 फ़ाइलों के selction की अनुमति देता है। – AxelEckenberger

संबंधित मुद्दे