سلام
کار جالبی کردی، دوست من، این که نشد راه حل. اینطوری فقط مشکل رو دور زدی و کاری که باید هم انجام نمیشه.
شما یک Thread اصلی داری، یه Thread دیگه هم ایجاد کردی، این میشه دو تا.
حالا میخوای از Thread داخلی به یه کنترل که تو Thread اصلی هست دسترسی پیدا کنی.
این باعث بروز خطا میشه، برای این که برنامهات کار کنه باید تو متد Compt یه تغییراتی بدی.
چون مدت زیادی هست که WinForm کار نکردم ممکنه دقیق نباشه، اما روش اینه:
delegate void VoidDelegate();
این خط رو بالای کلاست قرار میدی.
و تابع compt رو اینطوری نویسی:
private void Compt() {
if ( listBox1.InvokeRequired ) {
listBox1.Invoke( (VoidDelegate)Compt );
return;
}
// do your functions
}
صبا صبوحی