OpenFileDialog.ماذا عن "تحديد مربع حوار الدليل"؟
-
09-06-2019 - |
سؤال
في حقل مسار الملف، أريد التقاط مسار الدليل مثل:
textbox1.Text = directory path
أي واحد؟
المحلول 2
حسنًا، أنا أستخدم VS 2008 SP1.هذا كل ما أحتاجه:
private void button1_Click(object sender, EventArgs e)
{
FolderBrowserDialog profilePath = new FolderBrowserDialog();
if (profilePath.ShowDialog() == DialogResult.OK)
{
profilePathTextBox.Text = profilePath.SelectedPath;
}
else
{
profilePathTextBox.Text = "Please Specify The Profile Path";
}
}
نصائح أخرى
توجد فئة FolderBrowserDialog يمكنك استخدامها إذا كنت تريد من المستخدم تحديد مجلد.
http://msdn.microsoft.com/en-us/library/system.windows.forms.folderbrowserdialog.aspx
DialogResult result = folderBrowserDialog1.ShowDialog();
if (result.Equals(get_DialogResult().OK)) {
textbox1.Text = folderBrowserDialog1.get_SelectedPath();
}
إذا كان كل ما تريده هو الحصول على الدليل من المسار الكامل، فيمكنك القيام بذلك:
textbox1.Text = Path.GetDirectoryName(@"c:\windows\temp\myfile.txt");
سيؤدي هذا إلى تعيين خاصية النص على "c:\windows emp\"
إذا كنت لا تريد حوارًا سيئًا وغير سهل الاستخدام*، فجرّب Ookii.Dialogs أو انظر الإجابات الأخرى ل كيف يمكنك تكوين OpenFileDialog لتحديد المجلدات؟.الجانب السلبي الوحيد الذي أراه في Ookii هو أنه يتطلب .NET 4 Full، وليس فقط ملف تعريف العميل.لكن المصدر مضمن في التنزيل، لذا سأعمل على ذلك.من المؤسف أن الترخيص ليس LGPL أو ما شابه ذلك ...
أنظر أيضا: مربع رسالة WinForms مع أزرار نصية
*هذا هو الشكل الذي يبدو عليه FolderBrowserDialog: