با سلام خدمت دوستان من می خواستم با دریافت بارکد از پورت سریال اطلاعات مورد نظزمو توی یک فرم نمایش بدم ولی در رویداد datareceive وقتی از showdialog استفاده میکنم با ارور زیر مواجه می شم :
the calling thread must be sta, because many ui components require this
با توجه به این ارور از thread STA استفاده کردم که بازم به showdialog گیر میده و خطای زیرو میده:
The calling thread cannot access this object because a different thread owns it

string bar;

private void Datareceive(object sender, SerialDataReceivedEventArgs e)
{
bar = serial.ReadExisting();
Thread t = new Thread(new ThreadStart(mem_info));
t.SetApartmentState(ApartmentState.STA);
t.Start();
}

static public void mem_info()
{
Member_Info f = new Member_Info(bar);
f.ShowDialog();

}



لطفا راهنمایی کنید ??