Kann die .NET Openfile eingerichtet werden, damit der Benutzer eine LNK-Datei auswählen

StackOverflow https://stackoverflow.com/questions/2350802

  •  23-09-2019
  •  | 
  •  

Frage

Ich möchte einen Dialog zeigen, dass der Benutzer eine Verknüpfung (.lnk-Datei) ermöglicht auszuwählen. Mein Problem ist, dass der Dialog versucht, die Datei zu erhalten / URL der Verknüpfung zeigt auf eher dann der LNK-Datei selbst.

Wie kann ich es erlaubt LNK-Dateien ausgewählt werden?

War es hilfreich?

Lösung

Sie können die OpenFileDialog.DereferenceLinks Eigenschaft verwenden, um dieses Verhalten zu beeinflussen ( siehe doc ).

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

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

oder

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

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

ergeben Beide Methoden eine .lnk Datei jedoch der erste Ansatz ermöglicht die Auswahl von .lnk Dateien oder normale Dateien, während die zweite nur wählt .lnk Dateien.

Andere Tipps

Der folgende Code einen LNK-Dateinamen für mich zurückgegeben

  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;
  }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top