هل يمكن إعداد .NET OpenFileDialog للسماح للمستخدم بتحديد ملف .lnk
-
23-09-2019 - |
سؤال
أرغب في عرض مربع حوار يسمح للمستخدم بتحديد ملف اختصار (.lnk). مشكلتي هي أن مربع الحوار يحاول الحصول على الملف/عنوان URL الذي يشير الاختصار إلى بدلاً من ذلك ملف .lnk نفسه.
كيف يمكنني جعلها تسمح باختيار ملفات .lnk؟
المحلول
يمكنك استخدام ال 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
الملفات.
نصائح أخرى
أعاد الرمز التالي اسم ملف .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;
}
لا تنتمي إلى StackOverflow