C#-da prosesə progress bar qoşmaq

C#-da yazilan proqramla bazadan məlumatlari xml fayla atiram. Bəzən 100-dən çox xml fayla məlumatları atmaq lazım olur bu vaxt daxili proses gedir amma istifadəçi proqramın donduğunu görür. Sizcə ən yaxşı hansı üsulla prosesin getdiyini istifadəçiyə göstərmək olar? Proqress bar? Ya slas? Ya basqa nə? Amma həmin intervalı necə seçəcəyimi bilmirəm

Verilmiş cavablar və yazılan şərhlər (4 cavab var)

Sevinc Azizova (2012-02-03 17:45:03)
sag ol Elvin he duzdu mende thread-e istifadee etmisem sadece progress deyisenin qiymetini hesablamaqda problem var idii hell etdiim :)) Tesekkur

Elvin Əfəndi (2012-02-03 17:03:39)
Pəncərənin donmağına gətirən prosessləri başqa thread-də etsən yaxşı olar,bu zaman donma olmaz. Əsas pəncərədə isə progress bar yerləşdirməklə onu thread-dən update edə bilərsən: [code] int progress // prosessin davam etdiyi dovrün daxilində progress dəyişəninə // prosessin neçə faiz yerinə yetirldiyini göstərən ədədi mənimsət və aşağıdakı kodla // progressbar-ı update et this.Invoke((MethodInvoker)delegate { progressBar.Value = progress; }); [/code] progress dəyişənin qiymətini hesablamaq üçün məlumat yoxdursa(misal üçün fayl yükləyərkən bu məlumat məlum olur beləki, yuklənən məlumatın həcmini faylın ümumi həcminə bölüb 100-ə vurmaqla neçə faiz yükləndiyini tapmaq olar) onda sadəcəcə bir loading gif göstərə bilərsən

Sevinc Azizova (2012-02-03 16:55:04)
prosses bar meselesi deyil bilirem sadece sayta basligi avtomatik ele qoyublar menim axtardigim odur ki meselen proses gedir secimden asili olaraq hardasa 1 deq ya 5 deq bu mesafeni teyin ede bilmirem men? sen deyen kimi bir pencere cixarmaq isteyirem ferqi yooxdu proqress var ya hansisa giif mene vaxti tapmaq lazimdir ki hemen gif proses qurtaran kimi baglansin

Ferid Mövsümov (2012-02-03 16:37:36)
Progresbarla elageli meseleni deyil ama programın donmamağını isteyirsense o prosses işlemeye başlayanda çox tez tez tick'leyen timeri de eyni vaxtda start() edib içerisinde Application.DoEvents() metodunu çağırsan program donmaz. Ancaq eğer sen istemirsenki o vaxt erzinde user programda başqa iş görsün bir pencere çıxartmaq olar qarşısına içerisinde de gif bir şekilnen loading effekti vermek olar.

Mövzu üzrə bənzər suallara da baxa bilərsiniz.

Kernel developer olmaq üçün hardan başlamalı

C-də argc, argv

C++ file

Java proqramlaşdırma dili haqqında kitablar

C++ üçün proqram axtarıram

C sharp və Java