سؤال

وأنا على صنع البرامج التي يجب أن تكون فقط قادرة تسمح للناس لتحديد الملفات والمجلدات باستخدام OpenFileDialog التي هي في نفس الدليل كبرنامج والتي هي في مجلدات أعمق. أنا لا أريد أن OpenFileDialog أن تكون قادرا على تحديد الاشياء خارج الدليل الحالي للبرنامج. هل هذا ممكن القيام به في C # باستخدام OpenFileDialog؟

واسمحوا لي أن أعرف

والشكر

هل كانت مفيدة؟

المحلول

ويمكنك معرفة ما اذا كان هو الصحيح بعد اختيار مسار

وإذا به مجرد قبول أو إرسال رسالة مربع يخبره قمت بتحديد دليل مختلف

نصائح أخرى

وأنا لا أرى أي من دعم مربع من تحكم OpenFileDialog عنصر. ومع ذلك، يمكنك محاولة ما يلي،

وتعيين الخاصية InitialDirectory إلى مسار البرنامج. ثم إذا كان المستخدم بتحديد مسار معين خارج مسار البرنامج، استخدام الحدث FileOk للتحقق من ذلك ويعيده إلى InitialDirectory.

إذا كنت تريد المزيد من السيطرة ثم سيكون لديك لكتابة الحوار المخصصة الخاصة بك.

وهذه هي الطريقة التي فعلت ذلك.

   openFileDialog1.InitialDirectory = Path.Combine(Path.GetDirectoryName(Application.StartupPath), "FolderName");

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {            
                while(Path.GetDirectoryName(openFileDialog1.FileName) != Path.Combine(Path.GetDirectoryName(Application.StartupPath), "FolderName")){

                    MessageBox.Show("Please select .EXE which is in the default folder", "Wrong folder", MessageBoxButtons.OK, MessageBoxIcon.Information);
                openFileDialog1.ShowDialog();

            }                       
        }

وأنا أخشى أنك لا تستطيع ذلك. معظم الناس خلق الحوار المخصصة الخاصة بهم لهذا السيناريو.

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