HOWTO: Visual Basic .NETÀ» »ç¿ëÇÏ¿© ½º·¹µå ¸¸µé±â

±â¼ú ÀÚ·á: 315577 - ÀÌ ¹®¼­°¡ Àû¿ëµÇ´Â Á¦Ç° º¸±â.
ÀÌ ¹®¼­´Â ÀÌÀü¿¡ ´ÙÀ½ ID·Î ÃâÆÇµÇ¾úÀ½: KR315577
¸ðµÎ È®´ë | ¸ðµÎ Ãà¼Ò

ÀÌ ÆäÀÌÁö¿¡¼­

¿ä¾à

Visual Basic .NET¿¡¼­´Â ´ÙÁß ½º·¹µå ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹®¼­¿¡¼­´Â °£´ÜÇÑ Visual Basic .NET ÀÀ¿ë ÇÁ·Î±×·¥À¸·Î ½º·¹µå¸¦ ¸¸µé°í °ü¸®ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.

¿ä±¸ »çÇ×

´ÙÀ½Àº ±ÇÀå Çϵå¿þ¾î, ¼ÒÇÁÆ®¿þ¾î, ³×Æ®¿öÅ© ÀÎÇÁ¶ó ¹× ¼­ºñ½º ÆÑÀÔ´Ï´Ù.
  • Microsoft Windows 2000 ¶Ç´Â Microsoft Windows XP
  • Microsoft Visual Basic .NET
ÀÌ ¹®¼­´Â »ç¿ëÀÚ°¡ ´ÙÀ½ Ç׸ñÀ» Àß ¾Ë°í ÀÖ´Ù°í °¡Á¤ÇÕ´Ï´Ù.
  • Visual Basic .NET ÇÁ·Î±×·¡¹Ö
  • Visual Studio .NET ÅëÇÕ °³¹ß ȯ°æ(IDE)

½º·¹µå°¡ ÀÖ´Â Visual Basic .NET ÀÀ¿ë ÇÁ·Î±×·¥ ¸¸µé±â

  1. Microsoft Visual Studio .NETÀ» ½ÃÀÛÇÕ´Ï´Ù.
  2. ThreadWinApp¶ó´Â Visual Basic Windows ÀÀ¿ë ÇÁ·Î±×·¥ ÇÁ·ÎÁ§Æ®¸¦ »õ·Î ¸¸µì´Ï´Ù.
  3. Æû¿¡ Button ÄÁÆ®·ÑÀ» Ãß°¡ÇÕ´Ï´Ù. ±âº»ÀûÀ¸·Î ´ÜÃßÀÇ À̸§Àº Button1ÀÔ´Ï´Ù.
  4. Æû¿¡ ProgressBar ±¸¼º ¿ä¼Ò¸¦ Ãß°¡ÇÕ´Ï´Ù. ±âº»ÀûÀ¸·Î ÁøÇà·ü Ç¥½ÃÁÙÀÇ À̸§Àº ProgressBar1ÀÔ´Ï´Ù.
  5. ÆûÀ» ¸¶¿ì½º ¿À¸¥ÂÊ ´ÜÃß·Î ´©¸¥ ´ÙÀ½ ÄÚµå º¸±â¸¦ ´©¸¨´Ï´Ù.
  6. ÆÄÀÏÀÇ ½ÃÀÛ ºÎºÐ¿¡ ´ÙÀ½ ¹®À» Ãß°¡ÇÕ´Ï´Ù.
    Imports System.Threading
  7. Button1¿¡ ´ëÇØ ´ÙÀ½ Click À̺¥Æ® 󸮱⸦ Ãß°¡ÇÕ´Ï´Ù.
    Private Sub Button1_Click( _
        ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button1.Click
    
        MessageBox.Show("This is the main thread")
    End Sub
  8. Form1 Ŭ·¡½º¿¡ ´ÙÀ½ º¯¼ö¸¦ Ãß°¡ÇÕ´Ï´Ù.
    Private trd As Thread
  9. Form1 Ŭ·¡½º¿¡ ´ÙÀ½ ¸Þ¼­µå¸¦ Ãß°¡ÇÕ´Ï´Ù.
    Private Sub ThreadTask()
        Dim stp As Integer
        Dim newval As Integer
        Dim rnd As New Random()
    
        Do
            stp = ProgressBar1.Step * rnd.Next(-1, 2)
            newval = ProgressBar1.Value + stp
            If newval > ProgressBar1.Maximum Then
                newval = ProgressBar1.Maximum
            ElseIf newval < ProgressBar1.Minimum Then
                newval = ProgressBar1.Minimum
            End If
    
            ProgressBar1.Value = newval
    
            Thread.Sleep(100)
        Loop
    End Sub
    Âü°í: À̰ÍÀº ½º·¹µåÀÇ ±âÃʸ¦ ÀÌ·ç´Â ÄÚµåÀÔ´Ï´Ù. ÀÌ ÄÚµå´Â ProgressBar1ÀÇ °ªÀ» ÀÓÀÇ·Î ´Ã¸®°Å³ª ÁÙÀÎ ´ÙÀ½ 100¹Ð¸®ÃÊ ±â´Ù·È´Ù°¡ °è¼ÓÇÏ´Â ¹«ÇÑ ·çÇÁÀÔ´Ï´Ù.
  10. Form1¿¡ ´ëÇØ ´ÙÀ½ Load À̺¥Æ® 󸮱⸦ Ãß°¡ÇÕ´Ï´Ù. ÀÌ ÄÚµå´Â »õ·Î¿î ½º·¹µå¸¦ ¸¸µé°í, »õ ½º·¹µå¸¦ ¹é±×¶ó¿îµå ½º·¹µå·Î ¸¸µç ´ÙÀ½ ½º·¹µå¸¦ ½ÃÀÛÇÕ´Ï´Ù.
    Private Sub Form1_Load( _
        ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles MyBase.Load
    
        trd = New Thread(AddressOf ThreadTask)
        trd.IsBackground = True
        trd.Start()
    End Sub

ÀÛµ¿ ¿©ºÎ È®ÀÎ

  1. ÀÀ¿ë ÇÁ·Î±×·¥À» ºôµåÇÏ°í ½ÇÇàÇÕ´Ï´Ù. ÁøÇà·ü Ç¥½ÃÁÙÀÇ °ªÀÌ ÀÓÀÇ·Î ¹Ù²ò´Ï´Ù. À̰ÍÀº ÀÛ¾÷ ÁßÀÎ »õ ½º·¹µåÀÔ´Ï´Ù.
  2. ÁÖ ½º·¹µå°¡ ProgressBar °ªÀ» º¯°æÇÏ´Â ½º·¹µå¿Í ¹«°üÇÏ´Ù´Â °ÍÀ» º¸¿©ÁÖ·Á¸é ÆûÀÇ ´ÜÃ߸¦ ´©¸¨´Ï´Ù. ¸Þ½ÃÁö »óÀÚ¿¡ ´ÙÀ½ ¸Þ½ÃÁö°¡ Ç¥½ÃµË´Ï´Ù.
    This is the main thread
    ÀÔ·ÂÀ» ±â´Ù¸³´Ï´Ù. ÁøÇà·ü Ç¥½ÃÁÙÀÇ °ªÀÌ °è¼Ó ¹Ù²ñÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.

¹®Á¦ ÇØ°á

´õ º¹ÀâÇÑ ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­´Â °øÀ¯ º¯¼ö¿¡ ¾×¼¼½ºÇÒ ¶§ ¿©·¯ ½º·¹µå¸¦ µ¿±âÈ­Çß´ÂÁö È®ÀÎÇϽʽÿÀ. ÀÚ¼¼ÇÑ ³»¿ëÀº Visual Basic ¿Â¶óÀÎ µµ¿ò¸» ¼³¸í¼­ÀÇ SyncLock ¹®°ú °ü·Ã Ç׸ñÀ» ÂüÁ¶ÇϽʽÿÀ.

¼Ó¼º

±â¼ú ÀÚ·á: 315577 - ¸¶Áö¸· °ËÅä: 2002³â 4¿ù 16ÀÏ È­¿äÀÏ - ¼öÁ¤: 1.0
º» ¹®¼­ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
  • Microsoft Visual Basic .NET 2002 Standard Edition
Ű¿öµå:?
kbhowto kbhowtomaster KB315577

Çǵå¹é º¸³»±â