PDA

View Full Version : handle کردن thread ها



abcd_a
شنبه 18 آذر 1391, 09:30 صبح
سلام
برای باز و بسته کردن فرم از Thread استفاده می کنم
وقتی که برای بار اول که فرم باز میشه و اطلاعات به فرم بعدی ارسال میکنم و ازش استفاده می کنم هیچ خطای برنامه نمیده ولی برای دفعات بعدی خطای که در تصویر ضمیمه هست را میده
چطوری این خطا را برطرف کنم
در ضمن از کدهای استفاده شده به صورت زیر است
Thread tr = new Thread(new ThreadStart(showForm));
tr.SetApartmentState(ApartmentState.STA);
tr.Start();
this.Close();
void showForm()
{
frmEitet frm = new frmEdit();
frm.cmbGroupExpert = cmbGroupExpert.Text;
frm.txtPrice = txtPrice.Text;
frm.Tag = 0;
frm.ShowDialog();
}

Mahmoud.Afrad
شنبه 18 آذر 1391, 10:15 صبح
از یک ترد نمیتونی به طور مستقیم به کنترلهای ترد دیگه دسترسی داشته باشی. به این صورت عمل کن:

string groupEx,price;
private void button1_Click(object sender, EventArgs e)
{
groupEx = cmbGroupExpert.Text;
price = txtPrice.Text;
Thread tr = new Thread(new ThreadStart(showForm));
tr.Start();
this.Close();
}
void showForm()
{
frmEitet frm = new frmEdit();
frm.cmbGroupExpert = groupEx;
frm.txtPrice = price;
frm.Tag = 0;
frm.ShowDialog();
}