2010-11-24 14 views
5

मुझे संदेश बॉक्स के लिए एक टाइमर प्रकार की संपत्ति चाहिए। त्रुटि प्रदर्शित करने के बाद, यह 5 सेकंड के बाद उपयोगकर्ता हस्तक्षेप के बिना गायब हो जाना चाहिए।संदेश बॉक्स को स्वतः छिपाने के लिए कैसे करें?

उत्तर

9
timer.Interval=5000; 
timer.Enabled=true; 
MessageBox.Show("Should close automatically"); 

एसोसिएट टाइमर के Tick eventhandler साथ निम्नलिखित स्निपेट:

private void timer_Tick(object sender,EventArgs evt) { 
    timer.Enabled=false; 
    SendKeys.Send("{ESC}"); // SendWait as alternative 
} 
+0

+1; यह एक कामकाज के रूप में काम करता है। मेरा जवाब 'MessageBox' वर्ग =) – BeemerGuy

+1

के लिए विशिष्ट था, यह कारण है कि यह क्यों बुरा है - और भी अधिक यदि यह एक संदेश बॉक्स है जो पहले स्थान पर खोला गया है और इसलिए यह पहले ही बंद हो चुका है। – Murph

2

MessageBox कक्षा के साथ संभव नहीं है; आपको अपना खुद का फॉर्म बनाना होगा जो इसकी नकल करता है और इस सुविधा को स्वयं जोड़ता है।

+0

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

+0

मुझे शायद यह कहना चाहिए था कि "संदेशबॉक्स 'में उस सुविधा नहीं है; आपको एक कामकाज की आवश्यकता है"। – BeemerGuy

0

एक संदेश बॉक्स गलत समाधान है। आपको एक संकेत खिड़की की जरूरत है।

+0

"संकेत विंडो" क्या है? यदि खिड़कियों में रूपों में यह कुछ नया है तो यह मेरे लिए नया है - अगर आप इसे बनाते हैं तो यह बहुत कम जवाब है। – Murph

+0

यदि आपको कुछ काम करना है तो यह बहुत पतला जवाब है? मैं उन संदेशों के बारे में सोच रहा हूं जो विंडोज़ दिखाते हैं जब अद्यतन अपडेट किए जाते हैं। आप बिना किसी क्रोम वाले विंडो को आसानी से दिखा सकते हैं और 5s के बाद इसे मार सकते हैं, लेकिन कुछ मानक सिस्टम घटक होना चाहिए। –

0

यदि यह एक वेब पेज पर है, तो आप उपयोग कर सकते हैं जावास्क्रिप्ट या एक काफी अच्छा प्रभाव के लिए jQuery। इसे अक्सर "फीका" एनीमेशन के रूप में जाना जाता है। यह एक टाइमर का उपयोग करता है।

इस दृष्टिकोण के साथ, आप वास्तविक चेतावनी या संदेशबॉक्स का उपयोग नहीं करेंगे। आप <div> या किसी अन्य नामित HTML तत्व का उपयोग करते हैं।

आप जावास्क्रिप्ट का उपयोग कर कर रहे हैं, तो आप here कोड देख सकते हैं।

या यदि आप jQuery का उपयोग कर रहे हैं, तो fadeOut देखें। यहां एक article है।

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