2012-04-30 21 views
6

अद्यतन: ऐसा लगता है कि मेरी समस्या क्या थी, मैं स्पष्ट नहीं था। मेरे शीर्षक में जॉन अर्लेन का संपादन भी एक गलतफहमी का कारण बन रहा है। शीर्षक बदल दिया गया था "मैं फ़ोल्डर या फ़ाइल पथ कैसे प्राप्त कर सकता हूं?" जो मैं नहीं कर रहा हूं। मैं समझता हूं कि एक संवाद है जो फाइलों के साथ काम करता है और दूसरा फ़ोल्डर्स के साथ काम करता है। मुझे पता है कि इनमें से प्रत्येक संवाद किसी फ़ोल्डर या फ़ाइल का पथ वापस कर सकता है। मैंने कहा कि मुझे नहीं पता था कि फ़ाइल पथ कैसे प्राप्त करें, लेकिन इससे मुझे मदद नहीं मिली, भले ही मुझे पता चले कि ऐसा कैसे किया जाए।मैं एक WinForm संवाद के माध्यम से फ़ोल्डर या फ़ाइल पथ कैसे प्राप्त कर सकता हूं?

के रूप में अपने मूल प्रश्न में कहा गया है:।

"मैं उपयोगकर्ता एक फ़ोल्डर का चयन या कुछ संवाद के माध्यम से दाखिल हो रही है मैं नहीं जानता कि उस पथ में एक फ़ोल्डर या फ़ाइल से संबंधित होगा। एक बार जब उपयोगकर्ता 'ओपन' बटन हिट करता है, तो मैं वर्तमान में चयनित निर्देशिका या फ़ाइल पथ को स्ट्रिंग में संग्रहीत करना चाहता हूं। "

मेरा मतलब यह था कि मैं कुछ संवाद का उपयोग करना चाहता था जो मौजूद हो या न हो। मुझे नहीं पता कि उपयोगकर्ता फ़ाइल या फ़ोल्डर के बाद है या नहीं। उपयोगकर्ता यह जानता है, लेकिन उपयोगकर्ता पथ को नहीं जानता है। यही कारण है कि एक संवाद का उपयोग किया जाता है। उपयोगकर्ता आवश्यक फ़ाइल या फ़ोल्डर की खोज करेगा, फिर "खोलें" पर क्लिक करें। मेरी जरूरतों के लिए इसके लिए एक ही संवाद का उपयोग करना अधिक समझ में आता है। मैं देखना चाहता था कि .NET Framework के साथ मेरे अनुभव के रूप में ऐसा कोई संवाद मौजूद है या नहीं।

जेरेड काल्स का जवाब लगभग वही था जो मैं ढूंढ रहा था। उन्होंने जो कुछ भी प्रदान किया, उसे पढ़ने के बाद, ऐसा लगता है कि ऐसा संवाद मौजूद नहीं है। मुझे अपना खुद का कार्यान्वयन करना होगा।

अपने स्वयं के कार्यान्वयन के साथ आने के बाद से समय लेने वाली और मुश्किल हो सकती है, मैं अभी तक बिना करने जा रहा हूं। इस मामले में कोई जवाब चुनने के लिए मैं कुछ दिनों का इंतजार करूंगा कि कोई असाधारण रूप से सहायक उत्तर प्रदान करता है।

उन लोगों के लिए धन्यवाद जिन्होंने योगदान दिया, भले ही यह काफी नहीं था।

मूल सामग्री:

मैं एक तरह से एक फ़ोल्डर या फ़ाइल के फ़ाइल पथ प्राप्त करने के लिए की तलाश में हूँ। मैंने बिना किसी सफलता के OpenFileDialog और FolderBrowserDialog के साथ खेला है। मैं FolderBrowserDialog.SelectedPath का उपयोग कर फ़ोल्डर पथ प्राप्त करने में सक्षम था। OpenFileDialog कक्षा का उपयोग करके, मैं यह समझने में सक्षम नहीं था कि फ़ाइल पथ कैसे प्राप्त करें।

भले ही मैं इसे समझ सकूं, फिर भी मैं बाध्य हूं। मैं उपयोगकर्ता को कुछ संवाद के माध्यम से फ़ोल्डर या फ़ाइल का चयन कर रहा हूं। मुझे नहीं पता कि पथ किसी फ़ोल्डर या फ़ाइल से संबंधित होगा या नहीं। एक बार जब उपयोगकर्ता "ओपन" बटन हिट करता है, तो मैं वर्तमान में चयनित निर्देशिका या फ़ाइल पथ को स्ट्रिंग में संग्रहीत करना चाहता हूं। ऐसा लगता है कि मेरे द्वारा उपयोग की जाने वाली प्रत्येक कक्षा में फाइल या फ़ोल्डर्स के साथ फंस गए हैं।

क्या यह WinForms संवाद के साथ संभव है? मैं इस समय अपना खुद का संवाद लिखना पसंद नहीं करूंगा।

+0

क्या आपने सिस्टम.आईओ.पैथ नेमस्पेस पर सब कुछ देखा है? वहां बहुत अच्छी चीजें हैं। – WildCrustacean

+1

OpenFileDialog.FileName – SimpleVar

+0

http://msdn.microsoft.com/en-us/library/system.io.filesysteminfo.attributes.aspx आपको बताएगा कि यह निर्देशिका – Patrick

उत्तर

2

यह प्रश्न एक आम संवाद प्रदर्शित करने के कुछ तरीकों के लिए देखें जो फाइलों और फ़ोल्डर्स दोनों का चयन कर सकते हैं।

Select either a file or folder from the same dialog in .NET

प्रश्न के उत्तर के आधार पर ऊपर मैं कैसे सी # यहाँ में यह करने के लिए एक सरल उदाहरण बनाया है: https://github.com/jkells/folder-browser-dialog-example

तुम सिर्फ अपने प्रोजेक्ट में FolderBrowserDialogEx.cs कॉपी करने के लिए सक्षम होना चाहिए।

+0

यह काफी है जो मैं था खोज रहे हैं समस्या यह है कि मुझे नहीं लगता कि मैं अपने वर्तमान कौशल/ज्ञान के साथ अपने संस्करण को आसानी से कार्यान्वित करने में सक्षम हूं। मैं नेट फ्रेमवर्क के साथ बहुत लंबे समय तक काम नहीं कर रहा हूं, और मुझे पहले से ही कुछ सीमाएं मिली हैं। मुझे यह दिलचस्प लगता है क्योंकि मैंने हमेशा इस कोड के विशाल संग्रह के रूप में सोचा था जो सीखने के लिए हमेशा के लिए ले जाएगा। यह बहुत विशाल लगता है, फिर भी यह अभी भी स्थानों में कम पड़ता है। – Cheese

+0

हे पनीर, मैंने एक उदाहरण के साथ सवाल अद्यतन किया। –

7
openFileDialog1.ShowDialog(); 
string filePath = openFileDialog1.FileName; 

आपको फ़ाइल के लिए पथ देगा।

folderBrowserDialog1.ShowDialog(); 
string folderPath = folderBrowserDialog1.SelectedPath; 
फ़ोल्डर के लिए

string path = ... 
if(File.Exists(path))...//is file 
if(Directory.Exists(path))...//is folder 

यह जांचने के लिए कि यह क्या है।

संबंधित मुद्दे

 संबंधित मुद्दे