मैं एक जीत फॉर्म आवेदन के एकीकरण परीक्षण ड्राइविंग के लिए एक छोटी कक्षा लिख रहा हूँ। परीक्षण चालक वर्ग के पास मुख्य फॉर्म तक पहुंच है और उस नियंत्रण को देखता है जिसे नाम से उपयोग करने की आवश्यकता होती है, और परीक्षण को चलाने के लिए इसका उपयोग करती है। नियंत्रण खोजने के लिए मैं Control.Controls पेड़ को घुमा रहा हूं। हालांकि, जब मैं एक संवाद विंडो (एक संवाद के रूप में दिखाया गया एक कस्टम रूप) में नियंत्रण प्राप्त करना चाहता हूं तो मैं अटक जाता हूं। मैं इसे कैसे पकड़ सकता हूं?मैं वर्तमान में सक्रिय मोडल फ़ॉर्म का संदर्भ कैसे प्राप्त कर सकता हूं?
उत्तर
आप स्थिर Form.ActiveForm
संपत्ति का उपयोग करके वर्तमान में सक्रिय रूप का संदर्भ प्राप्त कर सकते हैं।
संपादित करें: यदि Form
पर ध्यान केंद्रित नहीं है, Form.ActiveForm
null
वापस आ जाएगा।
एक तरीका यह चारों ओर पाने के लिए Application.OpenForms
संग्रह का उपयोग करें और, डायन सक्रिय Form
जब यह ShowDialog
का उपयोग कर प्रदर्शित किया जाता है हो जाएगा पिछले आइटम को पुनः प्राप्त करने के लिए है:
// using Linq:
lastOpenedForm = Application.OpenForms.Cast<Form>().Last()
// or (without Linq):
lastOpenedForm = Application.OpenForms[Application.OpenForms.Count - 1]
मुझे यकीन नहीं है कि क्या आप प्री-बिल्ट डायलॉग बॉक्स पर नियंत्रण एक्सेस कर सकते हैं; वे सब एक साथ पैक लगते हैं। आपके पास अपने आप के एक संवाद बॉक्स का निर्माण करने के लिए और अधिक किस्मत हो सकती है जो आप इसे करना चाहते हैं। फिर आप इसके अंदर नियंत्रण को एक्सेस कर सकते हैं।
हां, मैं कस्टम फॉर्म का उपयोग कर रहा हूं जो एक संवाद बॉक्स – Grzenio
मुझे सही अगर मैं गलत हूँ, हालांकि, ऐसा लगता है कि आप संभावित रूप से संवाद फ़ॉर्म पर नियंत्रण तक पहुंचने का प्रयास कर रहे हैं, जब यह संभव नहीं है।
मेरा मतलब यह है कि, ShowDialog
उस धागे को "पकड़" रखेगा जिस पर फॉर्म बनाया गया था और ShowDialog
तक प्रसंस्करण समाप्त हो गया है, इस मामले में आपका उपयोगकर्ता कोड अपने रास्ते पर जारी रहेगा।
एक अलग थ्रेड से नियंत्रणों को एक्सेस करने या छेड़छाड़ करने का प्रयास करें (इस मामले में, परीक्षण ड्राइवर वर्ग को प्रत्येक नए रूप के लिए एक अलग धागे को फैलाने के लिए दोबारा प्रदर्शित करें जिसे परीक्षण और परीक्षण किया जाना चाहिए)।
हां, मैंने एक नया धागा बनाया है, इसलिए इसे अवरुद्ध नहीं किया गया है। मैं @ जुलिएन पॉलिन – Grzenio
द्वारा दिए गए उत्तर की तलाश में था, यदि आप माता-पिता के रूप में निपटान करते हैं तो निपटान विधि भी सक्रिय मोडल फॉर्म के साथ चलती है। यह संभव है कि आप तब मोडल फॉर्म तक पहुंचना चाहें। – mike100111
- 1. मैं किसी विधि का संदर्भ कैसे प्राप्त कर सकता हूं?
- 2. मैं सी # में वर्तमान समय कैसे प्राप्त कर सकता हूं?
- 3. मैं सक्रिय स्क्रीन आयाम कैसे प्राप्त कर सकता हूं?
- 4. मैं वर्तमान जीपीएस स्थान कैसे प्राप्त कर सकता हूं?
- 5. मैं वर्तमान स्क्रीन अभिविन्यास कैसे प्राप्त कर सकता हूं?
- 6. मैं वर्तमान ऑडियो आउटपुट डिवाइस का वर्तमान ध्वनि स्तर कैसे प्राप्त कर सकता हूं?
- 7. मैं प्रतिनिधि कैसे प्राप्त कर सकता हूं?
- 8. मैं ViewPager में एक टुकड़े का संदर्भ कैसे प्राप्त कर सकता हूं?
- 9. SQL सर्वर में, मैं हर जगह एक स्तंभ का संदर्भ कैसे प्राप्त कर सकता हूं?
- 10. माइक्रोसॉफ्ट एक्सेस में अभिव्यक्ति में वर्तमान फॉर्म का संदर्भ कैसे लगा सकता हूं?
- 11. मैं ग्रोवी में एक संदर्भ बराबर कैसे कर सकता हूं?
- 12. मैं सक्रिय व्यवस्थापक लेआउट को कैसे अनुकूलित कर सकता हूं?
- 13. मैं एक्सेस वीबीए में वर्तमान में लॉग-इन विंडोज उपयोगकर्ता कैसे प्राप्त कर सकता हूं?
- 14. क्या मैं प्रोग्रेस मॉनिटर संवाद मोडल कर सकता हूं?
- 15. मैं HttpContext का उपयोग किये बिना वेब एप्लिकेशन की वर्तमान कॉन्फ़िगरेशन कैसे प्राप्त कर सकता हूं?
- 16. मैं वर्तमान उपयोगकर्ता के "एप्लिकेशन डेटा" फ़ोल्डर का मार्ग कैसे प्राप्त कर सकता हूं?
- 17. मैं वर्तमान विंडोज खाते का एसआईडी कैसे प्राप्त कर सकता हूं?
- 18. मैं एक्शनबार मेनू इटैम का वर्तमान स्थान कैसे प्राप्त कर सकता हूं?
- 19. मैं symfony2 में एक JSON कैसे प्राप्त कर सकता हूं
- 20. मैं एकाधिक ट्विटर बूटस्ट्रैप मोडल संवादों का सर्वोत्तम प्रबंधन कैसे कर सकता हूं
- 21. मैं स्ट्रिंग/बफर का अक्षर कैसे प्राप्त कर सकता हूं?
- 22. मैं स्ट्रिंग का nth चरित्र कैसे प्राप्त कर सकता हूं?
- 23. मैं सी # में वर्तमान लघु दिनांक समय प्रारूप कैसे प्राप्त कर सकता हूं?
- 24. मैं निष्पादन योग्य की वर्तमान निर्देशिका py2exe में कैसे प्राप्त कर सकता हूं?
- 25. मैं जावास्क्रिप्ट में वर्तमान निर्देशिका नाम कैसे प्राप्त कर सकता हूं?
- 26. मैं TWIG में वर्तमान URL या मार्ग कैसे प्राप्त कर सकता हूं?
- 27. मैं PowerShell cmdlet में वर्तमान निर्देशिका कैसे प्राप्त कर सकता हूं?
- 28. PRISM का उपयोग कर किसी क्षेत्र में वर्तमान सक्रिय दृश्य कैसे प्राप्त करें?
- 29. मैं ज़ेंड फ्रेमवर्क में वर्तमान कार्रवाई कैसे प्राप्त कर सकता हूं?
- 30. मैं UIScrollView में वर्तमान ज़ूम स्तर कैसे प्राप्त कर सकता हूं?
के रूप में दिखाए जाते हैं, ऐसा लगता है कि जो भी मैं करता हूं वह शून्य हो जाता है। कोई विचार? – Grzenio
कोई फॉर्म फोकस नहीं होने पर अपडेट किया गया जवाब –
एप्लिकेशन। ओपनफॉर्म काम करता है, चीयर्स – Grzenio