2010-03-17 14 views
11

मेरे डब्ल्यूपीएफ एप्लिकेशन में स्पलैशस्क्रीन/लोडिंग-विंडो पर सेट है शीर्ष = "सही"। अब जब आप किसी अन्य एप्लिकेशन पर स्विच करते हैं तो भी यह विंडो अन्य सभी विंडोज़ के शीर्ष पर होती है (क्योंकि लोडिंग में कुछ समय लगेगा)। मैं इस तरह के व्यवहार नहीं चाहता।डब्ल्यूपीएफ-विंडो केवल अपने आवेदन के लिए सबसे ऊपर?

यदि मैं सेट करता हूं तो शीर्ष = "गलत" विंडो सबसे ऊपर नहीं है। लेकिन अगर आप किसी अन्य एप्लिकेशन के साथ काम करने के बाद मेरे आवेदन पर वापस जाते हैं तो मेरे ग्राहकों को कभी-कभी यह नहीं पता कि लोडिंग-विंडोज अभी भी काम कर रहा है। एप्लिकेशन अनुत्तरदायी प्रतीत होता है क्योंकि पृष्ठभूमि में लोडिंग-विंडो अभी भी सक्रिय विंडो है और यह मोडल है।

मैं लोडिंग-विंडो शीर्ष पर रखना चाहता हूं लेकिन केवल तभी मेरा आवेदन अग्रभूमि में है। यदि आप किसी अन्य प्रोग्राम पर स्विच करते हैं तो विंडो गायब हो जाती है और जब आप वापस स्विच करते हैं तो शीर्ष पर फिर से दिखाई देते हैं।

+0

जिज्ञासा से बाहर सिर्फ आपकी खिड़कियां पूरी तरह से क्यों लोड हो रही हैं जबकि आपकी स्प्लैश स्क्रीन दिखाई दे रही है? आम तौर पर जब कोई एप्लिकेशन स्प्लैश स्क्रीन का उपयोग करता है, तो उस समय उस ऐप के लिए यह एकमात्र दृश्यमान विंडो है .... – BFree

+0

क्योंकि लोडिंग इतनी देर लगती है कि मेरा बॉस चाहता है कि कुछ डेटा पहले से ही मुख्य विंडो में दिखाई दे। आप डेटा से बातचीत नहीं कर सकते लेकिन कम से कम आप इसे देख सकते हैं। – TalkingCode

उत्तर

10

आप खिड़की की "मालिक" संपत्ति का उपयोग करने का प्रयास कर सकते हैं, जिसके साथ स्प्लैश स्क्रीन हमेशा अन्य विंडो को ओवरलैप कर देगी।

+0

मेरे एप्लिकेशन में, मेनविंडो को बनाने में समय लगता है, इसलिए यह अभी तक नहीं बनाया गया है जबकि स्प्लैश स्क्रीन दिखाई दे रही है। इसलिए मैं स्प्लैश स्क्रीन विंडो के मालिक को अभी तक मुख्य विंडो में सेट नहीं कर सकता। –

2

मुझे लगता है कि आपके मेनविंडो के लोडिंग पैटर्न में बदलाव शायद मदद कर सकता है। आप लेने वाली एक पृष्ठभूमि धागे पर खिड़की लोड हो रहा है का हिस्सा-समय पर डाल सकते हैं, तो आप इस मार्ग ले जा सकते हैं:

  1. दिखाएँ MainWindow खाली या नंगे हड्डियों (खाली क्षेत्रों/ग्रिड आदि) के लिए
  2. लॉन्च async लोड विधि डेटा प्राप्त करें और मुख्य विंडो को पॉप्युलेट करें
  3. स्पलैश स्क्रीन बनाएं, स्वामी को स्वयं सेट करें और
  4. लोड पूर्ण होने पर स्पलैश स्क्रीन बंद करना सुनिश्चित करें।

जो भार को संसाधित होने पर शीर्ष पर स्पलैश रखना चाहिए।

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