If you are interested in this article, you may have encountered the following exceptions during programming:
1. The Inter-thread operation is invalid: It is accessed by a thread that does not create the control "X. (X indicates the control name.) 2. "operations performed on the control are being called from the wrong thread. This operation can be performed only when control. invoke or control. begininvoke is sent to the correct thread. "
This kind of prompt is most likely caused by cross-thread access to the control. For example,
The Code is as follows:
Using system;
Using system. Collections. Generic;
Using system. componentmodel;
Using system. Data;
Using system. drawing;
Using system. LINQ;
Using system. text;
Using system. Windows. forms;
Using system. Threading;
Namespace windowsformsapplication6
{
Public partial class form1: Form
{
Public form1 ()
{
Initializecomponent ();
}
Public Delegate void mymethod (); // declare a delegate for other threads to access
// Button
Private void button#click (Object sender, eventargs E)
{
Thread AAA = new thread (New threadstart (opendialogonotherthread ));
AAA. Start ();
}
// Other thread dialog box
Void opendialogonotherthread ()
{
Mymethod opendialog = new mymethod (this. opendialog );
This. Invoke (opendialog); // In the current thread, call opendialog
}
// Open the dialog box
Void opendialog ()
{
Openfiledialog = new openfiledialog ();
Openfiledialog. showdialog ();
}
}
}