मैं एक एनीमेशन दिखा रहा हूं जबकि मेरा नियंत्रण डेटा लोड कर रहा है। जब धागा खत्म होता है, तो मैं एनीमेशन छुपाता हूं और नियंत्रण दिखाता हूं। तो मैं एक धागे से इस कोड को क्रियान्वित कर रहा हूँ:Control.Invoke() एप्लिकेशन को लटकता है
protected void InvokeEnableBackControl()
{
if (this.InvokeRequired)
{
this.Invoke(new OpHandler(EnableBackControl));
}
else
{
EnableBackControl();
}
}
कभी कभी, जब मैं इस कोड का निष्पादन, मुख्य थ्रेड निम्नलिखित कोड में फांसी पर लटका दिया जाता है:
protected virtual void EnableBackControl()
{
if (overlayAnimation.TargetControl != null)
{
overlayAnimation.TargetControl.BringToFront();
}
overlayAnimation.SendToBack();
overlayAnimation.Enabled = false;
overlayAnimation.Visible = false;
}
मैं मुझे यकीन नहीं है कि यह Enable
या Visible
संपत्ति को सेट किया गया है। क्या आप किसी भी परिस्थिति को जानते हैं जो इन गुणों को Control.Invoke
से कॉल करने वाले एप्लिकेशन को सौंप सकता है?
देख कई बार जब यह लटकी हुई है के लिए एक discernable पैटर्न है? –
@ नहीं, केवल "कभी-कभी"। कष्टप्रद। –
स्टैक ट्रेस पोस्ट करने के बाद * सटीक * कथन को लटकता है। –