PDA

View Full Version : Tạo một Progress bar trong lập trình C# như thế nào?



[Mr.Pete]
01-05-2007, 10:17 PM
Hihi...Em lại có câu hỏi : mấy đại ca hướng dẫn em làm cho cái progress bar chạy đi :D. Giải thích các method càng tốt :D.

Ví dụ : Click vào 1 button thì progress bar chạy , click lần nữa thì stop :D

_Giúp em tí nha mấy huynh :D. Càng nhanh càng tốt ^^!

neverland87
01-05-2007, 10:53 PM
;11189']Hihi...Em lại có câu hỏi : mấy đại ca hướng dẫn em làm cho cái progress bar chạy đi :D. Giải thích các method càng tốt :D.

Ví dụ : Click vào 1 button thì progress bar chạy , click lần nữa thì stop :D

_Giúp em tí nha mấy huynh :D. Càng nhanh càng tốt ^^!
Mình xin được trả lời 1 phần câu hỏi của bạn ở phần làm cho progress bar chạy:
- Đầu tiên,add ProgressBar control và button vào form
- Sử dụng biến cố Click của form, trong đó:


private void button1_Click(object sender, EventArgs e)
{
//bắt buộc nấc trong progress bar xuất phát từ số 0 sử dụng thuộc tính Minimum
progressBar1.Minimum = 0;
//và chỉ cho phép nấc này chạy đến giá trị tối đa là 2000 sử dụng thuộc tính Maximum
progressBar1.Maximum = 2000;
//khởi tạo giá trị ban đầu cho progress bar sử thuộc tính Value
progressBar1.Value = 1;
//khoảng tăng giữa các nấc trong ProgressBar
progressBar1.Step = 3;
//bắt đầu chạy
for (int i = 0; i <= 2000; i++)
{
// do something
//.....
//thi hành tăng ProgressBar
progressBar1.PerformStep();
}
}

Do chương trình mẫu này chẳng làm gi cả,chỉ cho chạy ProgressBar nên mình thiết đặt thuộc tính Maximum = 2000 để bạn thấy...nó chạy, chứ bình thường thì nên đặt bằng 100 (100%)

angeltrongminh
02-11-2011, 09:55 AM
Xin hỏi các bác. Muốn dùng thằng này để đo thời gian thực thi của một hàm xyz() (nằm ở class khác form nha). Thì làm sao nhỉ!

nobita2009hp
03-11-2011, 07:46 AM
Mình xin được trả lời 1 phần câu hỏi của bạn ở phần làm cho progress bar chạy:
- Đầu tiên,add ProgressBar control và button vào form
- Sử dụng biến cố Click của form, trong đó:


private void button1_Click(object sender, EventArgs e)
{
//bắt buộc nấc trong progress bar xuất phát từ số 0 sử dụng thuộc tính Minimum
progressBar1.Minimum = 0;
//và chỉ cho phép nấc này chạy đến giá trị tối đa là 2000 sử dụng thuộc tính Maximum
progressBar1.Maximum = 2000;
//khởi tạo giá trị ban đầu cho progress bar sử thuộc tính Value
progressBar1.Value = 1;
//khoảng tăng giữa các nấc trong ProgressBar
progressBar1.Step = 3;
//bắt đầu chạy
for (int i = 0; i <= 2000; i++)
{
// do something
//.....
//thi hành tăng ProgressBar
progressBar1.PerformStep();
}
}

Do chương trình mẫu này chẳng làm gi cả,chỉ cho chạy ProgressBar nên mình thiết đặt thuộc tính Maximum = 2000 để bạn thấy...nó chạy, chứ bình thường thì nên đặt bằng 100 (100%)
bạn có thể hướng dẫn để cho cái Progess bar này chạy qua chạy lại ko,giống như cái update ở win 7 đấy(lúc downloading)(8-)>,thanks

leminh_005
03-11-2011, 11:07 AM
bạn có thể hướng dẫn để cho cái Progess bar này chạy qua chạy lại ko,giống như cái update ở win 7 đấy(lúc downloading)(8-)>,thanks

Bạn có thể chọn thuộc tính Styles là Marquee hoặc Continuos :D:D

thinhgr
25-10-2012, 10:07 AM
Mình xin được trả lời 1 phần câu hỏi của bạn ở phần làm cho progress bar chạy:
- Đầu tiên,add ProgressBar control và button vào form
- Sử dụng biến cố Click của form, trong đó:


private void button1_Click(object sender, EventArgs e)
{
//bắt buộc nấc trong progress bar xuất phát từ số 0 sử dụng thuộc tính Minimum
progressBar1.Minimum = 0;
//và chỉ cho phép nấc này chạy đến giá trị tối đa là 2000 sử dụng thuộc tính Maximum
progressBar1.Maximum = 2000;
//khởi tạo giá trị ban đầu cho progress bar sử thuộc tính Value
progressBar1.Value = 1;
//khoảng tăng giữa các nấc trong ProgressBar
progressBar1.Step = 3;
//bắt đầu chạy
for (int i = 0; i <= 2000; i++)
{
// do something
//.....
//thi hành tăng ProgressBar
progressBar1.PerformStep();
}
}

Do chương trình mẫu này chẳng làm gi cả,chỉ cho chạy ProgressBar nên mình thiết đặt thuộc tính Maximum = 2000 để bạn thấy...nó chạy, chứ bình thường thì nên đặt bằng 100 (100%)

Làm như vậy thì do something sẽ làm 2000 lần.
Theo tui thì mình phân ra cách hành động như 1,2,3.
//Khai báo
progressBar1.Minimum = 0;
progressBar1.Maximum = 2000;
progressBar1.Value = 1;
progressBar1.Step = 1;
//hành động 1 chiếm 30%
hành động 1;
for(int i = 0;i<30;i++)
{
progressBar1.PerformStep();
}
hành động 2;
for(int i = 0;i<30;i++)
{
progressBar1.PerformStep();
}
hành động 3;
for(int i = 0;i<30;i++)
{
progressBar1.PerformStep();
}
progressBar1.hide();

11520419
13-04-2013, 07:59 PM
Mình có một vấn đề như thế này mong các bạn mách nước giúp (viết trong c#).
-Mình có một cái form tạm đặt Form2 VÌ Form2 này load hơi lâu (khoảng 10 - 15 giây) nên mình muốn tạo một cái Process Bar để nó load trong khoảng 10 - 15 giây đó (không cần phải chỉ rõ còn bao nhiêu phần trăm nữa sẽ load xong Form2 chỉ cần cho process Bar đó chạy là được rồi) sau khi From2 load xong thì đồng thời Process Bar đó sẽ ẩn đỉ.
-Mong các bạn mách nước giúp