दिलचस्प पोस्ट
JQUERY datepicker से मूल्य प्राप्त करना रूबी फ़्लोटिंग बिंदु त्रुटियाँ स्प्रिंगएमवीसी में @ रिस्पॉन्सबॉडी का उपयोग करते हुए जेसनओबजेक्ट लौट रहा है जावा सिंक्रनाइज़ेशन Scanf और scanf_s में अंतर ओवरराइड विधियों ओवरराइड पद्धति से अधिक व्यापक अपवाद क्यों नहीं फेंक सकते हैं? डिफ़ॉल्ट फ्लोट प्रिंट प्रारूप बदलें सॉकेट। आतंक: एक सॉकेट को अपनी पहुंच अनुमतियों के द्वारा प्रतिबंधित करने के लिए एक प्रयास किया गया था क्रोम में पृष्ठ के लोड पर पॉपस्टेट UITabelbar को एक UILabel जोड़ना रूपांतरण ("+ + <int value>) खराब अभ्यास का उपयोग करने के लिए रूपांतरण है? एसक्यूएल – पंक्तियों से घटती मूल्य को घटाना स्प्रिंग एमवीसी: सत्यापन, पोस्ट-रीडायरेक्ट-गियर, आंशिक अपडेट, आशावादी संवाहक, फील्ड सुरक्षा एक्वाइप्स में जावाडॉक एचटीएमएल कैसे उत्पन्न करें? माता-पिता को प्राप्त करें। location.url – iframe – बच्चे से माता-पिता के पास

आप एक विंडोज़ फार्म (सी #) पर एनिमेटेड जीआईएफ कैसे दिखाते हैं

मेरे पास एक फार्म है जो प्रगति संदेशों को काफी लंबी प्रक्रिया चलाता है। यह एक वेब सेवा के लिए कॉल है, इसलिए मैं वास्तव में एक प्रगति पट्टी पर संपूर्ण प्रतिशत का अर्थ सार्थक नहीं दिखा सकता। (मुझे विशेष रूप से प्रगति बार की मार्की संपत्ति पसंद नहीं है)

मैं एक एनिमेटेड जीआईएफ को दिखाने के लिए प्रक्रिया को कुछ गतिविधि का अनुभव देने के लिए चाहूंगा (उदाहरण के लिए एक कम्प्यूटर से दूसरी कंप्यूटर की तरह दूसरी कॉप की प्रक्रिया की तरह फाइलें)

आप यह कैसे करते हैं?

Solutions Collecting From Web of "आप एक विंडोज़ फार्म (सी #) पर एनिमेटेड जीआईएफ कैसे दिखाते हैं"

यह बहुत मुश्किल नहीं है

  1. अपने फॉर्म पर एक तस्वीर बॉक्स ड्रॉप करें
  2. चित्रबॉक्स में छवि के रूप में .gif फ़ाइल जोड़ें
  3. जब आप लोड हो रहे हैं तो चित्र बॉक्स को दिखाएं।

ध्यान में रखना चीजें:

  • चित्र बॉक्स अक्षम करने से एनिमेटेड होने से जीआईएफ को रोका जा सकेगा

एनिमेटेड gifs:

यदि आप एनिमेटेड जीआईएफ की तलाश कर रहे हैं तो आप यहां उन्हें जेनरेट कर सकते हैं

ऐसा करने का दूसरा तरीका:

एक और तरीका है जो मुझे मिल गया है कि काफी अच्छी तरह से काम करता है async संवाद नियंत्रण है कि मैं कोड परियोजना पर पाया

मुझे भी यही समस्या थी। पूरे फार्म (जीआईएफ सहित) पृष्ठभूमि में काम कर रहे लंबे ऑपरेशन के कारण खुद को फिर से तैयार करने के लिए रोक रहा है। यहां बताया गया है कि कैसे मैंने इसे हल किया।

private void MyThreadRoutine() { this.Invoke(this.ShowProgressGifDelegate); //your long running process System.Threading.Thread.Sleep(5000); this.Invoke(this.HideProgressGifDelegate); } private void button1_Click(object sender, EventArgs e) { ThreadStart myThreadStart = new ThreadStart(MyThreadRoutine); Thread myThread = new Thread(myThreadStart); myThread.Start(); } 

मैंने इस ऑपरेशन के लिए जिम्मेदार होने के लिए बस एक और धागा बनाया है। इस शुरुआती फॉर्म के लिए धन्यवाद समस्याओं के बिना रेखांकित करना जारी है (मेरे जीआईएफ के कामकाज सहित) ShowProgressGifDelegate और HideProgressGifDelegate प्रतिनिधि के रूप में हैं, जो कि तस्वीर बॉक्स की दृश्यमान संपत्ति को जीआईएफ के साथ सही / गलत कहते हैं।

ध्यान दें कि विंडोज में, आप पारंपरिक रूप से एनिमेटेड जीआईएफ का उपयोग नहीं करते हैं, लेकिन थोड़ा एवीआई एनीमेशन: इन्हें प्रदर्शित करने के लिए सिर्फ एक विंडोज मूल नियंत्रण है। एनिमेटेड गिफ्स को एवीआई (और इसके विपरीत) में कनवर्ट करने के लिए उपकरण भी हैं।

अगर आप इसे एक पिक्चरबॉक्स नियंत्रण में डालते हैं, तो उसे काम करना चाहिए

यह तब नहीं होता है जब आप पीछे एक लंबे ऑपरेशन शुरू करते हैं, क्योंकि सब कुछ STOPS के बाद से आप एक ही धागे में पुनः।

मेरे पास एक ही मुद्दा था और मैं इसे लागू करने के द्वारा विभिन्न समाधानों में आया था, जिसे मैं कई विभिन्न मुद्दों से सामना करता था। आखिर में, नीचे मैंने जो अलग-अलग पोस्टों से कुछ टुकड़े डाल दिए हैं, जो मेरे लिए उम्मीद के मुताबिक काम करते थे

 private void btnCompare_Click(object sender, EventArgs e) { ThreadStart threadStart = new ThreadStart(Execution); Thread thread = new Thread(threadStart); thread.SetApartmentState(ApartmentState.STA); thread.Start(); } 

यहां एक्ज़ीक्यूशन मेथड भी है, जिसमें पिक्चरबॉक्स नियंत्रण भी शामिल है:

 private void Execution() { btnCompare.Invoke((MethodInvoker)delegate { pictureBox1.Visible = true; }); Application.DoEvents(); // Your main code comes here . . . btnCompare.Invoke((MethodInvoker)delegate { pictureBox1.Visible = false; }); } 

ध्यान रखें, चित्र बॉक्स गुण विंडो से अदृश्य है या नीचे करें:

 private void ComparerForm_Load(object sender, EventArgs e) { pictureBox1.Visible = false; }