2012-12-10 44 views
7

या प्रश्नों के लिए एक और पहलू यह है: क्या मुझे पृष्ठभूमि कार्यकर्ता को कोड करते समय फॉर्म बंद होने की संभावना को संभालना चाहिए?पृष्ठभूमि कार्यकर्ता का क्या होता है जो फ़ॉर्म को बंद करते समय भी चल रहा है?

मेरे पास, उदाहरण के लिए, कोड है जो पृष्ठभूमि कार्यकर्ता में SQL क्वेरी (जो रद्द नहीं किया जा सकता है) करता है, फिर क्वेरी से लौटाई गई तिथियों से मेल खाने के लिए कैलेंडर नियंत्रण में "boldifies" तिथियां पूर्ण करता है।

मुझे उत्सुकता है कि पृष्ठभूमि कार्यकर्ता को ऐसी स्थिति में क्या करने के लिए डिज़ाइन किया गया है? - RunWorkerComplete ईवेंट आग नहीं? - RunWorkerComplete फ़ंक्शन कॉल में संवाद को कॉल अनदेखा करें क्योंकि यह अब विंडो नहीं है?

उत्तर

7

यदि आप जिस फॉर्म को बंद कर रहे हैं वह मुख्य है (दूसरे शब्दों में केवल) फॉर्म तो पृष्ठभूमि कार्यकर्ता थ्रेड स्वचालित रूप से एप्लिकेशन के समापन के साथ बंद हो जाएगा।

यदि यह मुख्य रूप नहीं है तो पृष्ठभूमि धागा चल रहा है। इस मामले में आपको अपने फॉर्म को बंद करने के साथ पृष्ठभूमि थ्रेड को मैन्युअल रूप से निरस्त करना चाहिए