可以设置.NET OpenFileDialog以允许用户选择.lnk文件

McB*_*nUK 8 .net c# openfiledialog

我想显示一个允许用户选择快捷方式(.lnk)文件的对话框.我的问题是对话框尝试获取快捷方式指向的文件/ URL,而不是.lnk文件本身.

如何让它允许选择.lnk文件?

Axe*_*ger 9

您可以使用该OpenFileDialog.DereferenceLinks属性来影响该行为(请参阅doc).

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

if (dlg.ShowDialog() == DialogResult.OK) {
    this.label1.Text = dlg.FileName;
}
Run Code Online (Sandbox Code Playgroud)

要么

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

if (dlg.ShowDialog() == DialogResult.OK) {
    this.label1.Text = dlg.FileName;
Run Code Online (Sandbox Code Playgroud)

两种方法都会生成.lnk文件,但第一种方法允许选择.lnk文件普通文件,而第二种方法选择.lnk文件.