"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > यूआई थ्रेड को अवरुद्ध किए बिना डब्ल्यूपीएफ परिचालन में देरी कैसे शुरू करें?

यूआई थ्रेड को अवरुद्ध किए बिना डब्ल्यूपीएफ परिचालन में देरी कैसे शुरू करें?

2024-11-20 को प्रकाशित
ब्राउज़ करें:912

How to Introduce Delays in WPF Operations Without Blocking the UI Thread?

वैकल्पिक दृष्टिकोण के साथ WPF संचालन में देरी प्राप्त करना

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

डिस्पैचरटाइमर दृष्टिकोण

एक विकल्प डिस्पैचरटाइमर को नियोजित करना है। यह टाइमर यूआई थ्रेड पर चलता है और एक निर्दिष्ट अंतराल के बाद इसके टिक ईवेंट हैंडलर को कॉल करता है:

tbkLabel.Text = "two seconds delay";

var timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(2) };
timer.Start();
timer.Tick  = (sender, args) => {
    timer.Stop();
    var page = new Page2();
    page.Show();
};

कार्य.विलंब दृष्टिकोण

एक अन्य दृष्टिकोण में कार्य.विलंब का उपयोग करना शामिल है:

tbkLabel.Text = "two seconds delay";

Task.Delay(2000).ContinueWith(_ => {
    var page = new Page2();
    page.Show();
});

यहां, प्रोग्राम एक कार्य बनाता है जो 2 सेकंड की देरी के बाद पूरा होता है और फिर नया पेज दिखाने के लिए निरंतरता प्रतिनिधि को आमंत्रित करता है।

Async/Await Approach (.NET के लिए) 4.5 और बाद में)

अंत में, .NET 4.5 या उच्चतर लक्ष्य करने वाली परियोजनाओं के लिए, एसिंक/प्रतीक्षा पैटर्न एक संक्षिप्त और सुविधाजनक प्रदान करता है देरी से निपटने का तरीका:

public async void TheEnclosingMethod()
{
    tbkLabel.Text = "two seconds delay";

    await Task.Delay(2000);
    var page = new Page2();
    page.Show();
}

एसिंक्रोनस तकनीकों का लाभ उठाकर, डेवलपर्स यूआई प्रतिक्रिया से समझौता किए बिना डब्ल्यूपीएफ संचालन में देरी ला सकते हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3