2009-05-03 14 views
10

क्या कोई मुझे बता सकता है कि बटन नियंत्रण के क्लिक ईवेंट को कैसे बढ़ाया जाए (या किसी भी घटना के लिए उस मामले के लिए)।उठाएं बटन (या कोई नियंत्रण) मैन्युअल रूप से ईवेंट पर क्लिक करें। सी #

प्लेटफार्म: .net 2,0/3,0/3,5 भाषा: सी # डोमेन: Windows अनुप्रयोग, WinForms, आदि

उत्तर

18

आप Button.PerformClick विधि का उपयोग कर सकते हैं।

+3

+1। किसी अन्य घटना के लिए, इवेंट स्ट्रक्चर विशेष रूप से ईवेंट के मालिक को सीधे ऑब्जेक्ट करने में सक्षम एकमात्र वस्तु बनाने के लिए डिज़ाइन किया गया है। बटन क्लास प्रदर्शन क्लिक को उजागर करने के लिए आपको क्लिक करने का मौका देता है, लेकिन सभी घटनाओं में यह नहीं होगा (अच्छे कारण के लिए)। –

+0

धन्यवाद दोस्त ... इतना आसान और अभी तक ....: डी आप एक जीवन बचतकर्ता हैं ...: डी –

2

आप विंडोज एक्सेसिबिलिटी या कुछ यूआई ऑटोमेशन फ्रेमवर्क में भी देख सकते हैं जो आपको उपयोगकर्ता संकेतों के जवाब देने के लिए प्रोग्रामेटिक रूप से UI नियंत्रण का कारण बनता है। यदि कोई नियंत्रण अपने कार्यक्रमों को प्रोग्रामक्लिक रूप से PerformClick की तरह ट्रिगर करने का कोई तरीका नहीं प्रदान करता है, तो आप उस नियंत्रण से प्राप्त कर सकते हैं और PerformnXXX जैसी सार्वजनिक विधि का पर्दाफाश कर सकते हैं जिसे आंतरिक रूप से ईवेंट ईवेंट को किसी विशेष ईवेंट की सदस्यता लेने के लिए बुलाया जाता है।

12

हो सकता है कि समाधान और अधिक सरल है:

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

यदि हां, तो कोड को एक अलग विधि (जैसे "DoActionXXX") में रखें और बटन से और हर जगह से विधि को कॉल करें जहां आपको इसकी आवश्यकता है।

+0

जब आप कस्टम नियंत्रण का उपयोग कर रहे हैं तो यह एक अनुष्ठान तरीका है। :) बहुत ही शैक्षणिक प्रतिक्रिया के लिए – Cipi

+1

+1। – nam

1

बटन क्लिक करें और नया मेरी मैन्युअल खिड़की पूर्व करने के लिए .. dital.cs मई खिड़की

0

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

तो ..

शून्य myEventHandler (ObjectwhoSentTheMessage हे, घटना ङ) {

MyOtherFunction();

// के बाद यदि आप चाहें तो घटना का उपभोग आदि

}