W jaki sposob przekazac wartosci z UI, a konkretnie radiobuttonow, do BackgroundWorker'a?
to moj kod workera:
private void Worker2()
{
worker2.WorkerReportsProgress = true;
worker2.WorkerSupportsCancellation = true;
worker2.DoWork += (obj, ea) => installDrivers();
worker2.ProgressChanged += new ProgressChangedEventHandler(progressReport);
worker2.RunWorkerAsync();
}
a to metody ktora wykonuje:
public void installDrivers()
{
//insDriverTxt();
// worker2.ReportProgress(30);
//copy desktop power profiles:
if ((bool)Desktop.IsChecked)
{
DirectoryCopy("X:\\PowerProfiles\\Desktop", "C:\\Tools", true);
worker2.ReportProgress(30);
}
//graphic cards:
//geforce:
if ((bool)geforce.IsChecked)
{
DirectoryCopy("X:\\Drivers\\nVidia\\Graphics", "C:\\Tools\\Drivers\\nVidia\\Graphics", true);
for (int i = 31; i < 40; i++)
{
Thread.Sleep(500);
worker2.ReportProgress(i);
}
var geforce_install = Process.Start("C:\\Tools\\Drivers\\nVidia\\Graphics\\Setup.exe", "-n -s");
geforce_install.WaitForExit();
worker2.ReportProgress(40);
}
}