Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > ขอถามเรื่อง ProgressBar หน่อยคับจะให้มัน check เวลาดาวโหลดไฟล์จากServer



 

ขอถามเรื่อง ProgressBar หน่อยคับจะให้มัน check เวลาดาวโหลดไฟล์จากServer

 



Topic : 066027



โพสกระทู้ ( 158 )
บทความ ( 0 )



สถานะออฟไลน์




ขอสอบถามเรื่อง ProgressBar หน่อยคับคือว่าผมเขียนโปรแกรม auto updater ขึ่นมาเวลารันโปรแกรมแล้วมันจะเช็ควอชั่นจากเิซิฟเวอร์เป็นไฟล์ update.txt พอมันโหลดมาอยากจะให้ ProgressBar1 เช็คการดาวโหลดเป็น % กับ ช่อง ProgressBar1 ว่าดาวโหลดได้กี่ % แล้วอะคับขอบคุณคับ



Tag : .NET, VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-09-06 03:14:46 By : wanlop8822 View : 1640 Reply : 2
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Code (VB.NET)
Private min As Integer = 0               ' Minimum value for progress range
Private max As Integer = 100             ' Maximum value for progress range
Private val As Integer = 0               ' Current progress
Private barColor As Color = Color.Blue   ' Color of progress meter

Protected Overrides Sub OnResize(ByVal e As EventArgs)
    ' Invalidate the control to get a repaint.
    Me.Invalidate()
End Sub

Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
    Dim g As Graphics = e.Graphics
    Dim brush As SolidBrush = New SolidBrush(barColor)
    Dim percent As Decimal = (val - min) / (max - min)
    Dim rect As Rectangle = Me.ClientRectangle

    ' Calculate area for drawing the progress.
    rect.Width = rect.Width * percent

    ' Draw the progress meter.
    g.FillRectangle(brush, rect)

    ' Draw a three-dimensional border around the control.
    Draw3DBorder(g)

    ' Clean up.
    brush.Dispose()
    g.Dispose()
End Sub

Public Property Minimum() As Integer
    Get
        Return min
    End Get

    Set(ByVal Value As Integer)
        ' Prevent a negative value.
        If (Value < 0) Then
            min = 0
        End If

        ' Make sure that the minimum value is never set higher than the maximum value.
        If (Value > max) Then
            min = Value
            min = Value
        End If

        ' Make sure that the value is still in range.
        If (val < min) Then
            val = min
        End If



        ' Invalidate the control to get a repaint.
        Me.Invalidate()
    End Set
End Property

Public Property Maximum() As Integer
    Get
        Return max
    End Get

    Set(ByVal Value As Integer)
        ' Make sure that the maximum value is never set lower than the minimum value.
        If (Value < min) Then
            min = Value
        End If

        max = Value

        ' Make sure that the value is still in range.
        If (val > max) Then
            val = max
        End If

        ' Invalidate the control to get a repaint.
        Me.Invalidate()
    End Set
End Property

Public Property Value() As Integer
    Get
        Return val
    End Get

    Set(ByVal Value As Integer)
        Dim oldValue As Integer = val

        ' Make sure that the value does not stray outside the valid range.
        If (Value < min) Then
            val = min
        ElseIf (Value > max) Then
            val = max
        Else
            val = Value
        End If

        ' Invalidate only the changed area.
        Dim percent As Decimal

        Dim newValueRect As Rectangle = Me.ClientRectangle
        Dim oldValueRect As Rectangle = Me.ClientRectangle

        ' Use a new value to calculate the rectangle for progress.
        percent = (val - min) / (max - min)
        newValueRect.Width = newValueRect.Width * percent

        ' Use an old value to calculate the rectangle for progress.
        percent = (oldValue - min) / (max - min)
        oldValueRect.Width = oldValueRect.Width * percent

        Dim updateRect As Rectangle = New Rectangle()

        ' Find only the part of the screen that must be updated.
        If (newValueRect.Width > oldValueRect.Width) Then
            updateRect.X = oldValueRect.Size.Width
            updateRect.Width = newValueRect.Width - oldValueRect.Width
        Else
            updateRect.X = newValueRect.Size.Width
            updateRect.Width = oldValueRect.Width - newValueRect.Width
        End If

        updateRect.Height = Me.Height
        ' Invalidate only the intersection region.
        Me.Invalidate(updateRect)
    End Set
End Property

Public Property ProgressBarColor() As Color
    Get
        Return barColor
    End Get

    Set(ByVal Value As Color)
        barColor = Value

        ' Invalidate the control to get a repaint.
        Me.Invalidate()
    End Set
End Property

Private Sub Draw3DBorder(ByVal g As Graphics)
    Dim PenWidth As Integer = Pens.White.Width

    g.DrawLine(Pens.DarkGray, _
        New Point(Me.ClientRectangle.Left, Me.ClientRectangle.Top), _
        New Point(Me.ClientRectangle.Width - PenWidth, Me.ClientRectangle.Top))
    g.DrawLine(Pens.DarkGray, _
        New Point(Me.ClientRectangle.Left, Me.ClientRectangle.Top), _
        New Point(Me.ClientRectangle.Left, Me.ClientRectangle.Height - PenWidth))
    g.DrawLine(Pens.White, _
        New Point(Me.ClientRectangle.Left, Me.ClientRectangle.Height - PenWidth), _
        New Point(Me.ClientRectangle.Width - PenWidth, Me.ClientRectangle.Height - PenWidth))
    g.DrawLine(Pens.White, _
        New Point(Me.ClientRectangle.Width - PenWidth, Me.ClientRectangle.Top), _
        New Point(Me.ClientRectangle.Width - PenWidth, Me.ClientRectangle.Height - PenWidth))
End Sub



http://support.microsoft.com/kb/323088/th






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-07 06:32:30 By : webmaster
 


 

No. 2



โพสกระทู้ ( 158 )
บทความ ( 0 )



สถานะออฟไลน์


ยาวจังคับแต่ก็ขอบคุณมากๆ ไม่มีแบบให้ดูหรือคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-07 20:24:00 By : wanlop8822
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอถามเรื่อง ProgressBar หน่อยคับจะให้มัน check เวลาดาวโหลดไฟล์จากServer
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่