PDA

View Full Version : نحوه ي كار با progressbar



ali_mp64
جمعه 13 اردیبهشت 1387, 00:07 صبح
سلام دوستان ميشه در مورد كار با progressbar و نحوه استفاده ازون توضيح بدين

bita_naz
جمعه 13 اردیبهشت 1387, 00:33 صبح
اگه می خای فقط بر اساس زمان باشه باید از تایمر استفاده کنی. مثلاً هر یک ثانیه یه بار یه step بزنی.
مثلاً اگه می خای فقط سی ثلنیه طول بکشه property ها رو به صورت زیر می کنی:


progressBar1.Maximum = 30;
progressBar1.Value = 0;
progressBar1.Step = 1;و سپس یک تایمر با تایم یک ثانیه ساخته و آن را اجرا می کنی و هر وقت به 30 رسید تایمر را متوقف می کنی


البته خیلی کاملتر از این توی MSDN گفته. بد نیست یه نگاه بکنی

ali_mp64
جمعه 13 اردیبهشت 1387, 00:54 صبح
من يه مشكلي دارم . اونم اينه كه من از يه dll كپي دايركتوري استفاده مي كنم . چطوري مي تونم مراحل كپي دايركتوري رو با progressbar نشون بدم ؟ البته بيشتر مشكل من براي ارتباط برنامه با dll در ارسال پارامتر و دريافت مقداره كه بتونم به progressbar.value مقدار بدم .

ali_mp64
جمعه 13 اردیبهشت 1387, 13:08 عصر
كسي راه حلي نداره ؟

Mahdi-563
شنبه 14 اردیبهشت 1387, 21:57 عصر
به نظر من يه فايل انيمشن به كاربر نشون به اكثر كامپاني‌هاي معتبر هم اين روش را استفاده مي‌كنند

Mahdi.Kiani
شنبه 14 اردیبهشت 1387, 22:59 عصر
سلام
برای اینکه progress با عملیات برنامت هماهنگ باشه باید بر اساس پارمتری که در منطق برنامه ات تغییر می کنه اونو مقدار دهی کنید..
به عنوان مثال برای کپی فایل ها، تعداد فایل های قابل کپی می تواند معیار مناسبی باشد. به عنوان مثال اگر 100 تا فایل را بخواهید کپی کنید، می توانید پس از کپی هر فایل مقدار progress را یکی افزایش دهید. در این صورت تقریبا کاربر متوجه می شه که چه مقدار از فایل ها کپی شده و پایان عملیات را تقریبا تخمین بزند..
انتخاب دیگر می تونه حجم فایل کپی شده باشه.. این روش از بالایی کمی بهتره اما نیاز به مدیریت بهتری داره .. در این صورت حرکت progress منظم خواهد بود ...

ali_mp64
شنبه 14 اردیبهشت 1387, 23:11 عصر
سلام
برای اینکه progress با عملیات برنامت هماهنگ باشه باید بر اساس پارمتری که در منطق برنامه ات تغییر می کنه اونو مقدار دهی کنید..
به عنوان مثال برای کپی فایل ها، تعداد فایل های قابل کپی می تواند معیار مناسبی باشد. به عنوان مثال اگر 100 تا فایل را بخواهید کپی کنید، می توانید پس از کپی هر فایل مقدار progress را یکی افزایش دهید. در این صورت تقریبا کاربر متوجه می شه که چه مقدار از فایل ها کپی شده و پایان عملیات را تقریبا تخمین بزند..
انتخاب دیگر می تونه حجم فایل کپی شده باشه.. این روش از بالایی کمی بهتره اما نیاز به مدیریت بهتری داره .. در این صورت حرکت progress منظم خواهد بود ...

ممنون . ولي من اينا رو مي دونم . من مشكلم اينه كه فايل هاي مورد نظرمو توسط يه dll كپي مي كنم . نمي دونم چه طوري progressbar رو با dll ارتباط بدم ؟

gdevnb
یک شنبه 15 اردیبهشت 1387, 03:17 صبح
اول با یه فایل کم حجم تستش بزن در نتیجه زمان انتقال برای یه فایل مثلاً 1k رو داری .
بعد برای اون فایلها این مقدار رو تو پروگرس بارت اعمال کن.
چون مقدار دقیق نیست یا مثلاً سیستم در حین کپی ممکنه یه سری کار دیگه بهش تحمیل بشه و برنامتون کندتر عمل کنه لذا به 99 که رسید دیگه نگهش دار تا کار تموم بشه.

sinpin
یک شنبه 15 اردیبهشت 1387, 06:14 صبح
ممنون . ولي من اينا رو مي دونم . من مشكلم اينه كه فايل هاي مورد نظرمو توسط يه dll كپي مي كنم . نمي دونم چه طوري progressbar رو با dll ارتباط بدم ؟شايد بهتر بود اگه همون ابتدا عنوان موضوع و سئوال رو دقيقتر مطرح ميكرديد.
اون dll چي هست و چرا اصرار داريد كه از اون - براي كپي فايلها - استفاده كنيد ؟
ميتونيد يك كلاس جهت كار با فايلها براي خودتون بنويسيد توي همين سايت هم نمونه هاي زيادي از نحوه ي كاركردن با فايلها وجود داره.