में बाल कार्यों से यूआई को कैसे अपडेट करें मुझे एक साधारण छोटा Winforms ऐप मिला है जो एक टीपीएल कार्य के माध्यम से किसी अन्य धागे पर लंबी चल रही प्रक्रिया करता है। इस लंबी चल रही प्रक्रिया के दौरान मैं यूआई (प्रगति पट्टी या कुछ) को अपडेट करना चाहता हूं। क्या ऐसा करने के बिना ऐसा करने का कोई तरीका है। ContinueWith()?WinForms
public partial class Form1 : Form
{
private Task _childTask;
public Form1()
{
InitializeComponent();
Task.Factory.StartNew(() =>
{
// Do some work
Thread.Sleep(1000);
// Update the UI
_childTask.Start();
// Do more work
Thread.Sleep(1000);
});
_childTask = new Task((antecedent) =>
{
Thread.Sleep(2000);
textBox1.Text = "From child task";
}, TaskScheduler.FromCurrentSynchronizationContext());
}
}
इस कोड को मैं हर जगह अपवाद निष्पादित:
Cross-thread operation not valid: Control 'textBox1' accessed from a thread other than the thread it was created on.
मुझे लगता है कि आपको थ्रेड पर टेक्स्टबॉक्स संदर्भ पेस्ट करना होगा। – jwillmer