PDA

View Full Version : سوال: پر كردنProgressBar براي يك رويداد؟



ebrahimv
شنبه 14 شهریور 1388, 13:26 عصر
سلام دوستان
آيا كسي ميدونه چطور ميشود براي انجام يك رويداد ProgressBar پر كرد ؟
مثلا در هنگام لود شدن فرم البته بطور واقعي

ALI TT
شنبه 14 شهریور 1388, 13:39 عصر
شما می تونی از قابلیت چند نخی در ‎‎‎‎‎.Net استفاده کنی .
که یک نخ برنامتو ران کنه و نخ دیگه ProgressBar رو مقدار دهی کنه.

دقیقا مثل پروژه ی زیر :

اول دوتا فرم بساز ، یکی Form1 و دیگری Form2
توی فرم 2 یه ProgressBar بزار .

و کدهای زیر رو در فرم یک کپی کن : در ایتجا من برای شبیه سازی پردازش در داخل برنامم (همون کارایی که شما برای هنگام لود شدن می خواهید قرار بدید ) از چندین حلقه For استفاده کردم


Imports System.Threading
'_________________________________________________ ____________________
Public Class Form1

Dim j As Integer = 0
'_________________________________________________ ____________________
Private Sub DisplayMessage1() 'تابعی که مقدار پروگرس بار رو بروز میکنه
Form2.Show()

While (j < 10)
Threading.Thread.Sleep(50)
Form2.ProgressBar1.Value = j
End While

Form2.Close()
End Sub
'_________________________________________________ ______________________
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Form2.ProgressBar1.Maximum = 9
j += 1
Dim thrd1 As Thread = New Thread(New ThreadStart(AddressOf DisplayMessage1))

thrd1.Start()

Threading.Thread.Sleep(500)

j += 1

For i As Long = 0 To 100000000
Next

j += 1

For i As Long = 0 To 100000000
Next

j += 1

For i As Long = 0 To 100000000
Nextt

j += 1

For i As Long = 0 To 100000000
Next

j += 1

For i As Long = 0 To 100000000
Next

j += 1

For i As Long = 0 To 100000000
Next

j += 1

For i As Long = 0 To 100000000
Next

j += 1

For i As Long = 0 To 100000000
Next

j += 1

End Sub
End Class

منظور از j += 1 یعنی مثلا یه کاری انجام شده و قراره پروگرس بار یه واحد بره جلو

سوالی داشتی بگو

ebrahimv
یک شنبه 15 شهریور 1388, 10:05 صبح
ممنونم از پاسختون
ولي شما منظور منو متوجه نشديد
امكان داره در فرم لود من فقط يك دستور باشه و اين يك دستور قدري زمان بر است من ميخواهم پروقرس بار در هين انجام اين كار پر شود.

majid_vb_2008
یک شنبه 15 شهریور 1388, 10:44 صبح
منم همچين سؤالي كردم ولي كسي جواب منو نداد

استفاده از progress bar در پشتيبان گيري
http://barnamenevis.org/forum/showthread.php?t=176545

ALI TT
یک شنبه 15 شهریور 1388, 15:21 عصر
خوب میتونی از همون راهی که بالا گفتم بری فقط بجای پر شدن Progressbar .. خاصیت Style اونو به Marquee تغییر بدی و بالاش بنویسی لطفا صبر کنید . مثل (آپلود کردن) Attach کردن فایل در یاهو و سایتهای دیگه
خوب مثلا چه کاری می خواد بکنه ؟

mlf_mlv
یک شنبه 15 شهریور 1388, 16:00 عصر
خوب میتونی از همون راهی که بالا گفتم بری فقط بجای پر شدن Progressbar .. خاصیت Style اونو به Marquee تغییر بدی و بالاش بنویسی لطفا صبر کنید . مثل (آپلود کردن) Attach کردن فایل در یاهو و سایتهای دیگه
خوب مثلا چه کاری می خواد بکنه ؟
ظاهرا هرکس نمی تونه progressbar درست حسابی درست کنه این کار رو می کنه! مثل خود من.:قهقهه:

ArashRoshan
یک شنبه 15 شهریور 1388, 16:53 عصر
اگه می خواهید Form2 رو در هنگام فرایند بالا اومدن ،داخل یک Progressbar در Form1 نشون بدید ، میتونید گزینه Project-->ShowAllFiles رو فعال کنید و در قسمت Form2.Designer در قسمت InitializeComponents بعد از Add کردن هر کنترل یک واحد به Progressbar اضافه کنید .

majid_vb_2008
یک شنبه 15 شهریور 1388, 17:36 عصر
اگه می خواهید Form2 رو در هنگام فرایند بالا اومدن ،داخل یک Progressbar در Form1 نشون بدید ، میتونید گزینه Project-->ShowAllFiles رو فعال کنید و در قسمت Form2.Designer در قسمت InitializeComponents بعد از Add کردن هر کنترل یک واحد به Progressbar اضافه کنید .

ممنون

مي شه منو هم راهنمايي كنيد

استفاده از progress bar در پشتيبان گيري
http://barnamenevis.org/forum/showthread.php?t=176545

ALI TT
یک شنبه 15 شهریور 1388, 20:24 عصر
اگه می خواهید Form2 رو در هنگام فرایند بالا اومدن ،داخل یک Progressbar در Form1 نشون بدید ، میتونید گزینه Project-->ShowAllFiles رو فعال کنید و در قسمت Form2.Designer در قسمت InitializeComponents بعد از Add کردن هر کنترل یک واحد به Progressbar اضافه کنید .

اگه دقت کنید گفتن لود فرم نه قسمت InitializeComponents !!!
این قسمت برای نمونه سازی و مقدار دهی کنترلهای فرم هستش . فکر کنم خود Progressbar هم یک کنترل باشه !!!!!!! پس گمان نکنم بشه !!! چون خود Progressbar هنوز نمونه سازی نشده !!


تا ببینیم می خوان روند چه کدی را در Progressbar نشان بدن :متفکر::متفکر::متفکر:

ebrahimv
دوشنبه 16 شهریور 1388, 17:49 عصر
سلام دوستان
اگه دقت كرده باشد مثلا در هنگام كپي شدن فايل پرقرس بار را به وسيله حجم فايل و مقدار حجمي كه كپي شده پر ميكنن
خوب حالا اگه ما بدونيم كه مثلا يك رويداد چه حجمي داره و چه حجمي از آن انجام شده براحتي ميتوان اين كاره كرد
فقط مشكل فهميدن اين حجم است.