2008-09-18 10 views
7

मेरे पास टेक्स्टबॉक्स, कम्बोबॉक्स, डेटाग्रिडव्यू इत्यादि जैसे नियंत्रण वाले विंडोज़ फॉर्म हैं। ये नियंत्रण उपयोगकर्ता को क्लिपबोड का उपयोग करने की अनुमति देते हैं, यानी टेक्स्ट को काट/कॉपी और पेस्ट करें। पाठ को हटाना भी संभव है (जो क्लिपबोर्ड से संबंधित नहीं है)।मैं एक सामान्य तरीके से कट/कॉपी/पेस्ट मेनू और टूलबार आइटम को कैसे सक्षम/अक्षम कर सकता हूं?

मेरे आवेदन में कट/कॉपी/पेस्ट/हटाएं आइटम, और इन आइटम्स के साथ एक टूलबार युक्त एक संपादन आइटम वाला मेनूबार भी है। फोकस वाले नियंत्रण की स्थिति के आधार पर मैं इन वस्तुओं को सही ढंग से कैसे सक्षम/अक्षम कर सकता हूं?

मैं एक सामान्य तरीका ढूंढ रहा हूं, यानी मैं एक बार एक कार्यान्वयन की तलाश करता हूं जो मैं करता हूं, और मेरे आवेदन का उपयोग करने वाले नियंत्रणों से स्वतंत्र भविष्य के लिए पुन: उपयोग कर सकता हूं।

उत्तर

0

प्रत्येक सक्षम/अक्षम समूह के लिए एक सरणी बनाएं। सरणी में नियंत्रण जोड़ें (बेशक यह सही प्रकार का होना चाहिए जैसे ऑब्जेक्ट या कोई आदि, प्रोग्रामिंग भाषा पर निर्भर करता है)। फिर सक्षम करने के लिए, सरणी के माध्यम से केवल लूप अक्षम करें और प्रत्येक नियंत्रण के लिए सक्षम/अक्षम विधि या फ़ंक्शन का आह्वान करें। फिर, उस भाषा के आधार पर आपको वापस कास्ट करने की आवश्यकता हो सकती है।

3

कोई सामान्य इंटरफ़ेस या विंडोज़ फॉर्म नियंत्रण से कट/कॉपी/पेस्ट जानकारी प्राप्त करने के तरीकों का सेट नहीं है।

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

क्लिपबोर्ड जानकारी बहुत आसान है क्योंकि आप क्लिपबोर्ड सिंगलटन से पूछ सकते हैं कि इसमें डेटा है और यह किस प्रकार है। फिर फिर भी आपको लक्ष्य नियंत्रण से पूछना होगा कि क्या वह उस प्रकार की जानकारी स्वीकार कर सकता है, इसलिए अभी भी अतिरिक्त काम करने की ज़रूरत है।

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

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