Thursday, August 28, 2008

การทำโหลดบาร์ ให้วิ่งไปเรื่อย ๆ C#

How to create load bar by c# code.


  • สร้าง ProgressForm ซึ่งประกอบไปด้วย Lable, ProgressBar
ProgressBar ต้องมีคุณสมบัติ

1. Style เป็น marquee
2. MarqueeAnimationSpeed เป็น 100 (ยิ่งค่าน้อยยิ่งวิ่งเร็วขึ้น)

Thread progressThread = new Thread(delegate()
{
ProgressForm progress = new ProgressForm();
progress.ShowDialog();
});
progressThread.Start();

Loop statement................// งานที่ต้องทำนานๆ เช่น query ข้อมูลจากฐานข้อมูลเป็นต้น

progressThread.Abort();

3. บางทีมันจะไม่วิ่งขึ้นอยู่กับ theme ของระบบเช่น ถ้าใช้ Theme default ของระบบมันก็จะวิ่ง
แต่พวก theme คล้าย vista ไมไม่วิ่งก็ไม่เข้าใจเหมือนกัน

4. ส่วนเรื่องไม่แสดง titlebar ให้ทำประมาณเนี๋ย ControlBox = false และ Text = ""

เพิ่มเติม
  • การเอา Titlebar ของ Form ออกมีอีกวิธีคือ ที่ FormBorderStyle เลือก None
  • ถ้าเราเลือก Style เป็น Marquee Theme ที่จะทำให้โหลดบาร์วิ่งได้ ทำไมมีแค่ Classsic กับ Defualt ของ xp เองหว่า ส่วน theme ที่ลงเพิ่ม marquee ไม่วิ่งซะงั้น
  • ถ้า อยากให้ธีมอื่นวิ่ง คงต้องตั้ง Style เป็น Block และ เพิ่ม และ ลดค่าให้ Loadbar เองซะแหละ

อ่านเพิ่มเติ่ม

ที่มา: nattster.siamdev.net เดิมเค้าชื่อ siamdev.net อ่ะ

1 comment:

  1. โห เขียนได้สั้นกระชับ ชัดเจนกว่าที่ผมเขียนมากเลย

    ขอเก็บ blog ไว้เป็นแบบอย่างครับ

    T_T ของผมเขียนยืดยาวเนอะ

    ReplyDelete