2009-07-17 14 views
9

मैं उलटी गिनती के बजाय टाइमर जोड़ना चाहता हूं जो फॉर्म लोड होने पर स्वचालित रूप से प्रारंभ होता है। प्रारंभ समय 45 मिनट होना चाहिए और एक बार यह समाप्त हो जाने पर, यानी 0 मिनट तक पहुंचने पर, फ़ॉर्म को प्रदर्शित संदेश के साथ समाप्त करना चाहिए। मैं यह कैसे कर सकता हूँ?विंडोज फॉर्म एप्लिकेशन में टाइमर जोड़ें

भाषा: अधिमानतः सी #।

+2

अब तक आप क्या प्राप्त कर चुके हैं? –

+0

व्यक्तिगत रूप से, मैं होमवर्क के साथ मदद करने में सक्षम होने का आनंद लेता हूं। मुख्य शब्द * सहायता * है। तो हम प्रयास करने पर कुछ उचित प्रयास किए बिना * किसी के होमवर्क क्यों कर रहे हैं? – IAbstract

उत्तर

32

बिट और अधिक विस्तार:

private void Form1_Load(object sender, EventArgs e) 
    { 
     Timer MyTimer = new Timer(); 
     MyTimer.Interval = (45 * 60 * 1000); // 45 mins 
     MyTimer.Tick += new EventHandler(MyTimer_Tick); 
     MyTimer.Start(); 
    } 

    private void MyTimer_Tick(object sender, EventArgs e) 
    { 
     MessageBox.Show("The form will now be closed.", "Time Elapsed"); 
     this.Close(); 
    } 
+0

हे ब्रो thanx बहुत ... यह काम किया .... वास्तव में प्रोग में आईएमए फ्रेशर तो मैं वास्तव में सराहना करता हूं अगर आप मुझे बताते हैं कि यह कैसे काम करता है। विशेष रूप से ये दो पंक्तियां: MyTimer.Tick + = new EventHandler (MyTimer_Tick) ; MyTimer.Start(); और क्यों 1000 ?? यानी 45 * 60 * 1000 .... और मैं एक लेबल में समय (उलटी गिनती) डिस्प्ले प्रदर्शित करना चाहता हूं या फॉर्म पर डेटा की तरह कुछ दिखाना चाहता हूं ... thanx – knowledgehunter

+0

MyTimer.Tick + = नया इवेंट हैंडलर (MyTimer_Tick); टाइमर में टिक नामक एक ईवेंट होता है जब सेट अंतराल समाप्त हो जाता है। इस मामले में, हम कह रहे हैं कि जब टिक घटना होती है तो हम MyTimer_Tick विधि का आह्वान करना चाहते हैं। MyTimer.Interval = (45 * 60 * 1000); टाइमर का अंतराल मिलीसेकंड में है और इस प्रकार मैंने जवाब को काम करने और मूल्य में चिपकने के बजाय गणना की। मुझे लगता है कि यह समझने में थोड़ा आसान बनाता है। – Tim

+0

thanx ... मुझे यह मिला ... बीटी wat फॉर्म पर उलटी गिनती प्रदर्शित करने के बारे में ?? – knowledgehunter

1

आपके फॉर्म में ऐसा कुछ मुख्य है। फ़ॉर्म लोड इवेंट बनाने के लिए दृश्य संपादक में फॉर्म को डबल क्लिक करें।

Timer Clock=new Timer(); 
Clock.Interval=2700000; // not sure if this length of time will work 
Clock.Start(); 
Clock.Tick+=new EventHandler(Timer_Tick); 

फिर टाइमर आग लगने पर कुछ करने के लिए एक ईवेंट हैंडलर जोड़ें।

public void Timer_Tick(object sender,EventArgs eArgs) 
    { 
    if(sender==Clock) 
    { 
     // do something here  
    } 
    } 
+0

thanx ... यह काम करता है .... लेकिन मैं फॉर्म पर उलटी गिनती कैसे प्रदर्शित करता हूं? – knowledgehunter

-3

डाउनलोड http://download.cnet.com/Free-Desktop-Timer/3000-2350_4-75415517.html

तब प्रपत्र पर और उसके घटना के अंदर एक बटन या कुछ और जोड़ने के लिए, सिर्फ इस एप्लिकेशन को खोलने अर्थात्:

{

प्रक्रिया। स्टार्ट (@ "सी: \ प्रोग्राम फ़ाइलें (x86) \ नि: शुल्क डेस्कटॉप टाइमर \ डेस्कटॉप टाइमर ");

}

+2

यह एक भयानक समाधान है ... एक तृतीय पक्ष टाइमर, पीएफएफटी डाउनलोड करें। आप मानक टाइमर नियंत्रण का उपयोग क्यों नहीं करेंगे? क्या आप इस घटक के लेखक हैं? –

+0

मैं एक नौसिखिया हूं .. लेकिन असल में रनटाइम के दौरान टाइमर नियंत्रण को प्रदर्शित करना संभव है? तीसरे पक्ष टाइमर की तरह ... अगर आप जानते हैं तो कृपया उत्तर दें .. –

+0

निजी उप टाइमर 1_Tick (ऑब्जेक्ट के रूप में प्रेषक, ई इवेंटआर्ग्स के रूप में) डिम diff के रूप में नया टाइमस्पैन() diff = dateTime.Now.Subtract (startTime) lblTime.Text = diff .Hours और ":" और diff.Minutes.ToString ("00") और ":" और diff.Seconds.ToString ("00") lblTime.Invalidate() अंत उप –

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