رافعی مهدی
شنبه 12 شهریور 1390, 11:27 صبح
با سلام
علت اصلی Cross-Thread در دستیابی به پراپرتیهای کنترلها چیست؟
توضیحات بیشتر:
در دستیابی به پراپرتیهای مشابه از کنترلهایی با انواع متفاوت با استفاده از Threadای بجز Thread اصلی گاهی تداخل بین ریسمانها به وجود می آید و گاهی نه. علت این عکس العمل دوگانه چیست؟
به طور مثال، در حالت پیش فرض نمیتوان متن یا رنگ پس زمینه ی یک TextBox را با thread دیگری غیر از UI-thread تغییر داد. این در حالی است که میتوان پراپرتی Value سلولهای یک DataGridView را با ریسمانهای دیگر بدون هیچ مشکلی set کرد و یا رنگ پس زمینه ی آنها را تغییر داد. از طرفی نمیتوان پراپرتی Visible یک ردیف از DataGridView را بدون تداخل ریسمانها عوض کرد!!!
علت اصلی Cross-Thread در دستیابی به پراپرتیهای کنترلها چیست؟
توضیحات بیشتر:
در دستیابی به پراپرتیهای مشابه از کنترلهایی با انواع متفاوت با استفاده از Threadای بجز Thread اصلی گاهی تداخل بین ریسمانها به وجود می آید و گاهی نه. علت این عکس العمل دوگانه چیست؟
به طور مثال، در حالت پیش فرض نمیتوان متن یا رنگ پس زمینه ی یک TextBox را با thread دیگری غیر از UI-thread تغییر داد. این در حالی است که میتوان پراپرتی Value سلولهای یک DataGridView را با ریسمانهای دیگر بدون هیچ مشکلی set کرد و یا رنگ پس زمینه ی آنها را تغییر داد. از طرفی نمیتوان پراپرتی Visible یک ردیف از DataGridView را بدون تداخل ریسمانها عوض کرد!!!