मेरे पास एक पृष्ठभूमि कार्यकर्ता एक लंबा डेटाबेस कार्य चला रहा है। कार्य चल रहा है, जबकि मैं प्रगति पट्टी दिखाना चाहता हूँ। किसी भी तरह पृष्ठभूमि कार्यकर्ता कार्य की प्रगति की रिपोर्ट नहीं करेगा।पृष्ठभूमि कार्यकर्ता प्रगति की रिपोर्ट नहीं करेगा
यह मैं क्या है:
BackgroundWorker _bgwLoadClients;
_bgwLoadClients = new BackgroundWorker();
_bgwLoadClients.WorkerReportsProgress = true;
_bgwLoadClients.DoWork += new DoWorkEventHandler(_bgwLoadClients_DoWork);
_bgwLoadClients.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_bgwLoadClients_RunWorkerCompleted);
_bgwLoadClients.ProgressChanged += new ProgressChangedEventHandler(_bgwLoadClients_ProgressChanged);
_bgwLoadClients.RunWorkerAsync(parms);
private void _bgwLoadClients_DoWork(object sender, DoWorkEventArgs e)
{
DataTable dt = getdate();
e.Result = dt;
}
void _bgwLoadClients_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}
मैं WPF में यह कर रहा हूं, लेकिन मैं इसे कोई फर्क नहीं होगा लगता है।
अग्रिम
यदि आप अपने प्रश्न टाइप (या संपादन) करते समय चार रिक्त स्थान से अपना कोड इंडेंट करते हैं, तो इसे अनुच्छेद में एक साथ मैश किए गए और पढ़ने के लिए कठिन के बजाय कोड की तरह इंडेंटेशन और स्वरूपण के साथ प्रदर्शित किया जाएगा। –
आप पृष्ठभूमि कार्यकर्ता की रिपोर्ट प्रगति विधि को कॉल नहीं कर रहे हैं - क्या यह केवल इसलिए है क्योंकि आप हमें कुछ सरल कोड दिखा रहे हैं? – Mike
@ माइक, मुझे लगता है कि शायद एक उदाहरण के संपादन के बजाय कारण है। –