Progressbar

ARAsoftware

Member
سلام دوستان
من دارم روی یه برنامه ای کار میکنم که توی یه قسمتش باید لیست کلیه فایل ها و فولدر ها و ساب فولدر های موجود در مسیری که بهش داده میشه رو توی یه لیست باکس نشون بده
از اونجایی که این کار یه مقداری زمان بره، میخوام این طی شدن زمان بوسیله یه progressbar نشون داده بشه
ولی هرکاری کردم موفق نشدم!!! میشه یه کمکی بفرمایید
 

the_king

مدیرکل انجمن
سلام دوستان
من دارم روی یه برنامه ای کار میکنم که توی یه قسمتش باید لیست کلیه فایل ها و فولدر ها و ساب فولدر های موجود در مسیری که بهش داده میشه رو توی یه لیست باکس نشون بده
از اونجایی که این کار یه مقداری زمان بره، میخوام این طی شدن زمان بوسیله یه progressbar نشون داده بشه
ولی هرکاری کردم موفق نشدم!!! میشه یه کمکی بفرمایید

این انجمن مربوط به صرفا یک زبان برنامه نویسی نیست، اگه زبان برنامه نویسی رو در سوال مشخص نکنید
پاسخ دادن مشکل میشه. اگه منظورتون #C ئه، بهتره که در نخ (Thread) اصلی فقط ProgressBar رو نشون دهید
و عملیات جستجوی پوشه ها و فایل ها رو در یک BackgroundWorker انجام بدهید، اینطوری در حالی که جستجو
انجام میشه، برنامه تون قفل نمی کنه و امکان پاسخگویی به درخواست های کاربر رو دارید. از اونجایی که ListBox
توسط Thread اصلی مدیریت میشه، اصولا در داخل BackgroundWorker بصورت مستقیم بهش
دسترسی نخواهید داشت، معمولا برای اینکار از متغیر های static به عنوان واسطه بین دو Thread اصلی و Thread ای
که BackgroundWorker اجرا می کنه استفاده میشه.

به مثال پیوستی مراجعه کنید : SearchFilesInBackground.zip
 

پیوست ها

  • SearchFilesInBackground.zip
    57.5 کیلوبایت · بازدیدها: 21

ARAsoftware

Member
خیلــــــــــی ممنون
زبان کار #C هستش
ولی 2تا مشکل پیش اومد
1. با VS 2012 نتونستم فایل پیوستی رو باز کنم
2. کد هارو یه نگاهی انداختم خیلی پیچیده بو:shock: اگه راه داره یه کمی ساده تر بفرمایید، آخه من کلا با Background Worker هیچ آشنایی ندارم تو کتابایی هم که دارم هیچ مطلبی درباره ش پیدا نکردم
 

the_king

مدیرکل انجمن
خیلــــــــــی ممنون
زبان کار #C هستش
ولی 2تا مشکل پیش اومد
1. با VS 2012 نتونستم فایل پیوستی رو باز کنم
2. کد هارو یه نگاهی انداختم خیلی پیچیده بو:shock: اگه راه داره یه کمی ساده تر بفرمایید، آخه من کلا با Background Worker هیچ آشنایی ندارم تو کتابایی هم که دارم هیچ مطلبی درباره ش پیدا نکردم

چون Visual Studio 11 هنوز در مرحله آزمایشی یه هیچ نظری در موردش ندارم. ابزار Solution Converter
رو امتحان کنید :
كمك فوري:كار با پروژه نوشته شده در 2010 ، در ورژن 2008

شما می خواهید کاری رو انجام دهید (جستجو) که در خلال انجام اش کار دیگری انجام بشه (نمایش پیشرفتProgressbar )
که بدون ساختن یک نخ دوم عملی نیست، اگر هر دوشون توی یک نخ باشه تا زمانی که جستجو تموم نشده برنامه
قفل می کنه و Progressbar هم ثابت می مونه، میشه مستقیما Thread ساخت اما کار کردن با BackgroundWorker
از کار کردن مستقیم با Thread ها ساده تره.
 

ARAsoftware

Member
آقا من دیشب خوابم میومد ورژنو اشتباه گفتم
واسه منم 2010 هستش
ولی بازم دستت درد نکنه
 

جدیدترین ارسال ها

بالا