A common problem using WinForms in Visual Studio is syncing between logic threads and UI threads. Most winform applications should use a method to sync between both; otherwise, you will see the Form freeze while waiting for the logic to complete.
The following shows an example of calling a function that creates a delegate to do cross-thread operations.
Code:
private void ThreadSafeFunction(int intVal, bool boolVal) { if (this.InvokeRequired) { this.Invoke( new MethodInvoker( delegate() { yourMethod(intVal, boolVal); })); } else { //use intval and boolval } }
To use this method of cross-thread operations, call the ThreadSafeFunction in your logic thread.
In the curly brackets if the new delegate (), place any UI logic that needs to be done (i.e. yourTextbox.Text = intVal)
After you have updated the code to work with your WinForm, try it out and let us know how it goes!
0 comments:
Post a Comment