سؤال

في حقل مسار الملف، أريد التقاط مسار الدليل مثل:

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:

Ugly, unfriendly folder browser dialog

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top