मेरे पास यहां पर चर्चा करने वाले एक ग्रेग डी के समान एक सेफ इंवोक कंट्रोल एक्सटेंशन विधि है (माइनस इज़हंडलेक्रिएट चेक)।
मैं इसे System.Windows.Forms.Form
इस प्रकार से बुला रहा हूं :
public void Show(string text) {
label.SafeInvoke(()=>label.Text = text);
this.Show();
this.Refresh();
}
कभी-कभी (यह कॉल विभिन्न थ्रेड्स से आ सकती है) इस परिणाम में निम्नलिखित त्रुटि है:
System.InvalidOperationException
हुआ
Message
= "जब तक विंडो हैंडल नहीं बनाया जाता है तब तक इनवोक या बिगिनवॉक को एक नियंत्रण पर नहीं बुलाया जा सकता है।"
Source
= "System.Windows.Forms"
StackTrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous) at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args) at System.Windows.Forms.Control.Invoke(Delegate method) at DriverInterface2.UI.WinForms.Dialogs.FormExtensions.SafeInvoke[T](T control, Action`1 action) in C:\code\DriverInterface2\DriverInterface2.UI.WinForms\Dialogs\FormExtensions.cs:line 16
क्या चल रहा है और मैं इसे कैसे ठीक करूं? मैं जानता हूं कि यह फॉर्म निर्माण की समस्या नहीं है, क्योंकि कभी-कभी यह एक बार काम करेगा और अगली बार विफल हो जाएगा तो समस्या क्या हो सकती है?
पुनश्च। मैं वास्तव में WinForms पर भयानक हूं, क्या किसी को लेखों की एक अच्छी श्रृंखला पता है जो पूरे मॉडल को समझाती है और इसके साथ कैसे काम करना है?