Может OpenFileDialog.NET быть установкой, чтобы позволить пользователю выбирать .lnk файл

Я хочу показать диалоговое окно, которое позволит пользователю выбирать ярлык (.lnk) файл. Моя проблема состоит в том, что диалоговое окно пытается получить ФАЙЛ/URL, ярлык указывает скорее затем на сам .lnk файл.

Как я могу заставить его позволить .lnk файлам быть выбранными?

8
задан McBainUK 28 February 2010 в 10:49
поделиться

2 ответа

Вы можете использовать свойство OpenFileDialog.DereferenceLinks , чтобы повлиять на это поведение ( см. Документ ).

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 .

9
ответ дан 5 December 2019 в 17:36
поделиться

Следующий код вернул мне имя файла .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;
  }
1
ответ дан 5 December 2019 в 17:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: