Note that there are some explanatory texts on larger screens.

plurals
  1. POHow can i enable/disable a button in a backgroundworker DoWork event?
    primarykey
    data
    text
    <p>I have this method:</p> <pre><code>private void CreateDriversList() { try { StreamWriter w = new StreamWriter(contentDirectory + "\\" + "Drivers.txt"); w.WriteLine("Module Name Display Name " + " " + " Driver Type"); w.WriteLine("=========== ============ " + " " + " ==========="); System.Management.SelectQuery query = new System.Management.SelectQuery("Win32_SystemDriver"); System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query); foreach (System.Management.ManagementObject ManageObject in searcher.Get()) { w.WriteLine("{0,-22} {1,-75} {2}", ManageObject["Namedfgfdg"], ManageObject["DisplayName"], ManageObject["ServiceType"]); driversListNumbers += 1; } w.Close(); Logger.Write("***** Drivers Text File Have Been Created *****"); } catch(Exception err) { Logger.Write("There was an exception" + Environment.NewLine + err); SendEmail.Enabled = true; } } </code></pre> <p>This method is called from the DoWork event and when i run my program im getting exception:</p> <p>Cross-thread operation not valid: Control 'SendEmail' accessed from a thread other than the thread it was created on</p> <pre><code>System.InvalidOperationException was unhandled by user code HResult=-2146233079 Message=Cross-thread operation not valid: Control 'SendEmail' accessed from a thread other than the thread it was created on. Source=System.Windows.Forms StackTrace: at System.Windows.Forms.Control.get_Handle() at System.Windows.Forms.Control.OnEnabledChanged(EventArgs e) at System.Windows.Forms.ButtonBase.OnEnabledChanged(EventArgs e) at System.Windows.Forms.Control.set_Enabled(Boolean value) at Diagnostic_Tool_Blue_Screen.Form1.CreateDriversList() in d:\C-Sharp\Diagnostic Tool Blue Screen\Diagnostic Tool Blue Screen\Diagnostic Tool Blue Screen\Form1.cs:line 135 at Diagnostic_Tool_Blue_Screen.Form1.backgroundWorker1_DoWork(Object sender, DoWorkEventArgs e) in d:\C-Sharp\Diagnostic Tool Blue Screen\Diagnostic Tool Blue Screen\Diagnostic Tool Blue Screen\Form1.cs:line 177 at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument) InnerException: </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload