2013-04-11 7 views
8

मेरे पास ऐसे बटन हैं जो उपयोगकर्ता को प्रशासक हैं या नहीं। यदि वर्तमान में लॉगिन करने वाला उपयोगकर्ता व्यवस्थापक नहीं है तो लेबल चेतावनी संदेश के रूप में दिखाएगा और फिर कुछ सेकंड के बाद छुपाएगा। चेतावनी संदेश के बाद मैंने lblWarning.Hide(); और lblWarning.Dispose(); का उपयोग करने का प्रयास किया, लेकिन समस्या यह है कि यह चेतावनी संदेश को दिखाने से पहले संदेश छुपाता है। यह मेरा कोड है।चेतावनी संदेश के रूप में लेबल टेक्स्ट दिखाएं और कुछ सेकंड के बाद इसे छुपाएं?

private void button6_Click(object sender, EventArgs e) 
{ 
    if (txtLog.Text=="administrator") 
    { 
     Dialog(); 
    } 

    else 
    { 
     lblWarning.Text = "This action is for administrator only."; 
     lblWarning.Hide(); 
    } 

} 
+0

अपने कोड में आप सिर्फ पाठ सेट करने के बाद छुपा रहे हैं इस्तेमाल कर सकते हैं। आपको कुछ सेकंड के लिए थोड़ी देर इंतजार करना होगा। आप बस पृष्ठ पर कहीं भी सूचनाओं के रूप में संदेश दिखाना चाहते हैं। मैं टोस्टर या इसी तरह की कार्यक्षमता का उपयोग करूंगा। Http://github.com/CodeSeven/toastr –

+0

आप क्लाइंट को संदेश दिखाने और इसे छिपाने के लिए जावास्क्रिप्ट का उपयोग कर सकते हैं, यह सर्वर के कोड में नहीं किया जाना चाहिए। देखें: http://stackoverflow.com/questions/4634013/javascript- नींद –

उत्तर

22

आप एक Timer के साथ "छिपाने" करना चाहते हैं जा रहे हैं।

var t = new Timer(); 
t.Interval = 3000; // it will Tick in 3 seconds 
t.Tick += (s, e) => 
{ 
    lblWarning.Hide(); 
    t.Stop(); 
}; 
t.Start(); 
बजाय इस बात का

:: आप कुछ इस तरह लागू हो सकता है

lblWarning.Hide(); 
तो

अगर आप इसे अधिक से अधिक 3 सेकंड के लिए दिखाई दे चाहता था तो बस समय आप चाहते हैं लेने के लिए और क्योंकि 1000 Interval से गुणा करें मिलीसेकंड में है।

+0

उस कोड में ई क्या है यह है कि lblWarning के लिए चर या वह समय का प्रतिनिधित्व करता है? – user2262382

+0

@ user2262382, यह एक 'EventArgs' ऑब्जेक्ट है। 'टिक 'ईवेंट [' EventHandler'] (http://msdn.microsoft.com/en-us/library/system.eventhandler.aspx) प्रतिनिधि का उपयोग करता है और इसमें दो तर्क' ऑब्जेक्ट प्रेषक, EventArgs e' हैं। इसलिए, मैं उन पैरामीटर के लिए एक इनलाइन प्रतिनिधि घोषित कर रहा हूं। –

+0

मुझे मिल गया। मेरे पास परिवर्तनीय ई के लिए अपवाद है क्योंकि मैं इसे पहले से ही अन्य कोडों से उपयोग करता हूं। – user2262382

-1

निश्चित रूप से आप सिर्फ Thread.Sleep

lblWarning.Text = "This action is for administrator only."; 
System.Threading.Thread.Sleep(5000); 
lblWarning.Hide(); 

कहाँ 5000 = मिलीसेकंड की संख्या आप को थामने/इंतजार करना चाहते हैं/नींद

+1

लेकिन क्या यह अन्य सभी उदाहरण/थ्रेड भी नींद के समय के लिए सोएगा? –

+4

thread.sleep एक अच्छा विचार नहीं है। उपयोगकर्ता 5 सेकंड के लिए कुछ भी करने में सक्षम नहीं होगा। –

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