У меня проблема, может из-за непонимания
У меня есть форма и на ней я запускаю консольное приложение, которое что-то долго делает, соответственно это что-то я решил загнать в поток, используя backgroundWorker
ну вот и когда у после Asinc срабатывает DoWork, то мне необходимо взять значение из ComboBox на форме, и я создаю делегат методом Invoke
Но string str_server, string str_bd и string str_tabl , обявленнные внутри потом у меня потом когда я вызываю функцию Unload_txt_func и хочу передать туда эти переменные, то он не видит их и соответственно ругается
- Код: Выделить всё
The name 'str_server' does not exist in the current context
- Код: Выделить всё
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
this.Invoke(new MethodInvoker(delegate()
{
string str_server = comboBoxServFrom.Text;
string str_bd = comboBoxBDfrom.Text;
string str_tabl = checkListBox_load.Items[0].ToString();
}));
if (backgroundWorker1.IsBusy == true)
{
this.Invoke(new MethodInvoker(delegate()
{
//label3.Text = str_tabl;
}));
Unload_txt_func(InvokeRequired=str_server, str_bd, str_tabl);
}
}
Как мне их вытащить ? Или я что-то неправильно делаю ?
Спасибо.