c# - OpenFileDialog - only display filenames that have no extensions -


मेरे पास मेरे सी # प्रोग्राम में निम्नलिखित कोड है:

  OpenFileDialog fDialog = new OpenFileDialog ); FDialog.Title = "एक फ़ाइल खोलें"; FDialog.Filter = "NCF फाइलें (* .ncf) | * .ncf | सभी फ़ाइलें (*। *) * *। * | कोई एक्सटेंशन नहीं (*।) | *।";  



मुझे निम्न से उपयोगकर्ता चुनने में सक्षम होना चाहता हूं:

*। NCF (केवल एनसीएफ एक्सटेंशन वाले फाइलें)
**। * (सभी फाइलें)

और ऐसे फाइलें जिनमें कोई एक्सटेंशन नहीं जैसे :

फाइलविड्थएक्सटेंशन



मुझे पता है ***। * ऐसा करेंगे, लेकिन यह भी प्रदर्शित करता है एनसीएफ, .टीएमटी, और अन्य सभी फाइलें एक ही निर्देशिका में।

मैं सिर्फ उन फ़ाइल नामों को प्रदर्शित करने में सक्षम होना चाहता हूं जिनके पास कोई एक्सटेंशन नहीं है।



* के साथ फ़िल्टर करना चाल नहीं करता है यह एक DOS विंडो ( dir *। ) के साथ करते समय ठीक काम करता है, लेकिन C # को * * को अनदेखा करने लगता है फिल्टर।





क्या ऐसा कोई तरीका है जो मैं सी # के साथ ऐसा कर सकता हूं?

धन्यवाद।

< / Div>

यदि अन्य सॉफ़्टवेयर प्रोग्राम इन फ़ाइलों को उसी स्थान पर बनाता है, तो क्यों नहीं आपके कोड में एक विस्तार (कुछ " .XXX ") उस फ़ोल्डर में प्रत्येक एक्सटेंशन-कम फ़ाइल के लिए, और तब डायलॉग दिखाता है?

संपादित करें: या, यह MSDN लेख देखें:

फ़िल्टर अनुभाग से:

CDN_INCLUDEITEM अधिसूचना संदेश संवाद नामों को फ़िल्टर करने का एक और तरीका प्रदान करता है बॉक्स प्रदर्शित करता है इस संदेश का उपयोग करने के लिए, एक OFNHookProc हुक प्रक्रिया प्रदान करें और जब आप संवाद बॉक्स बनाते हैं तो OPENFILENAME संरचना में OFN_ENABLEINCLUDENOTIFY फ़्लैग को निर्दिष्ट करें। हर बार जब उपयोगकर्ता एक फ़ोल्डर को खोलता है, तो संवाद बॉक्स नए खुले फ़ोल्डर में प्रत्येक आइटम के लिए आपकी हुक प्रक्रिया के लिए एक CDN_INCLUDEITEM सूचना भेजता है। हुक प्रक्रिया का रिटर्न वैल्यू यह इंगित करता है कि क्या डायलॉग बॉक्स को फ़ोल्डर की आइटम सूची में आइटम प्रदर्शित करना चाहिए।

एक्सप्लोरर-शैली हुक प्रोसेसर्स अनुभाग, लेख बताता है कि यह कैसे करें। असल में, आप एक ईवेंट हैंडलर को ओपनफाइल संवाद में पास करते हैं, और हर बार जब उपयोगकर्ता एक नए फ़ोल्डर में जाने जाता है, तब संवाद फ़ोल्डर में सभी फाइलों के माध्यम से पुनरावृत्त होता है और प्रत्येक के लिए आपके ईवेंट हैंडलर को कॉल करता है। ईवेंट हैंडलर के अंदर, आप यह निर्धारित करने के लिए अपना कोड डाल देंगे कि फ़ाइल का एक्सटेंशन है या नहीं, और सही या गलत, तदनुसार वापस।


Comments