HOWTO: Visual Basic .NET을 사용하여 Windows Form에 개체의 배열 바인딩

기술 자료 번역 기술 자료 번역
기술 자료: 313639 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR313639
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 Windows Form에 개체의 배열을 바인딩하는 방법을 단계별로 설명합니다. 이 문서의 예제에는 개체 속성을 표시하기 위한 텍스트 상자가 3개 있는 Windows Form이 포함되어 있습니다. 또한 Array 클래스를 찾기 위한 명령 단추도 4개 포함되어 있습니다.

요구 사항

다음은 권장 하드웨어, 소프트웨어, 네트워크 인프라, 기술, 지식 및 서비스 팩입니다.
  • Microsoft Visual Basic .NET
  • Visual Basic 프로그래밍 개념에 대한 중급 수준의 이해

코드 설명

이 절에서는 이 작업을 수행하는 데 필요한 코딩 개념을 중점적으로 다룹니다.

클래스 디자인

폼에 바인딩할 클래스에 속성 접근자가 있어야 합니다. 바인딩할 모든 속성에 Property Set 메서드와 Property Get 메서드가 있어야 합니다. 이 문서에 나와 있는 예제에 사용되는 클래스에는 속성이 3개 있지만 이 절에는 하나만 나와 있습니다. 이 문서의 예제에는 매개 변수화된 생성자도 포함되어 있지만 반드시 필요한 것은 아닙니다.
Public Class guitar
    Private m_make As String
    Private m_model As String
    Private m_year As Short

    Public Sub New(ByVal make, ByRef model, ByVal year)
        Me.make = make
        Me.model = model
        Me.year = year
    End Sub
    Public Property make() As String
        Get
            Return m_make
        End Get
        Set(ByVal Value As String)
            m_make = Value
        End Set
    End Property 
End Class

배열에 클래스 인스턴스 추가

다음 단계는 개체를 만든 다음 Array 클래스에 추가하는 것입니다.
Dim al(2) As guitar

al(0)  = new guitar("Gibson", "Les Paul", 1958)
al(1)  = new guitar("Fender", "Jazz Bass", 1964)
al(2)  = new guitar("Guild", "Bluesbird", 1971)

폼 컨트롤에 개체 속성 바인딩

배열을 채운 후에는 개체의 개별 속성을 Windows Forms 컨트롤에 바인딩할 수 있습니다. 이렇게 하려면 TextBox 컨트롤의 DataBindings 속성의 Add 메서드를 호출합니다. 또한 바인딩할 컨트롤 속성, 배열의 이름, 개체의 속성을 전달해야 합니다.
textBox1.DataBindings.Add("Text", al, "make")
textBox2.DataBindings.Add("Text", al, "model")
textBox3.DataBindings.Add("Text", al, "year")

배열 탐색 수단 제공

이 프로세스의 마지막 단계에서는 CurrencyManager 클래스를 사용하여 배열을 찾습니다. 이렇게 하려면 CurrencyManager를 폼의 BindingContext(이 경우에는 배열)와 연관시킵니다.
Private cMan As CurrencyManager

cMan = CType(Me.BindingContext(al), CurrencyManager)
CurrencyManager 클래스에는 배열의 멤버를 통해 반복 이동하기 위해 조작할 수 있는 Position 속성이 있습니다. Position의 현재 값에 추가하거나 값에서 빼는 방법으로 폼에 ArrayList의 다른 멤버를 표시할 수 있습니다. 예를 들면 다음과 같습니다.
'Move forward one element.
cMan.Position += 1
'Move back one element.
cMan.Position -= 1
'Move to the beginning.
cMan.Position = 0
'Move to the end.
cMan.Position = al.Length - 1

단계별 예제

  1. Visual Basic .NET에서 새로운 Windows 응용 프로그램 프로젝트를 엽니다. 기본적으로 Form1이 프로젝트에 추가됩니다.
  2. 프로젝트에 클래스를 추가합니다.
  3. Class1.vb의 코드를 다음 코드로 바꿉니다.
    Public Class guitar
        Private m_make As String
        Private m_model As String
        Private m_year As Short
    
        Public Sub New(ByVal make, ByRef model, ByVal year)
            Me.make = make
            Me.model = model
            Me.year = year
        End Sub
        Public Property make() As String
            Get
                Return m_make
            End Get
            Set(ByVal Value As String)
                m_make = Value
            End Set
        End Property
        Public Property model() As String
            Get
                Return m_model
            End Get
            Set(ByVal Value As String)
                m_model = Value
            End Set
        End Property
        Public Property year() As Short
            Get
                Return m_year
            End Get
            Set(ByVal Value As Short)
                m_year = Value
            End Set
        End Property
    End Class
  4. Form1에 TextBox 컨트롤을 3개 추가한 다음 이들 컨트롤을 가로로 배열합니다.
  5. Form1에 Button 컨트롤을 4개 추가한 다음 이들 컨트롤을 가로로 배열합니다.
  6. 단추의 Text 속성을 다음과 같이 변경합니다.
    표 축소표 확대
    단추텍스트
    Button1Next
    Button2Previous
    Button3First
    Button4Last

  7. Form1의 선언 구역에 다음 코드를 추가합니다.
    Private al(2) As guitar
    Private cMan As CurrencyManager
  8. Form_Load 이벤트에 다음 코드를 추가합니다.
    al(0)  = new guitar("Gibson", "Les Paul", 1958)
    al(1)  = new guitar("Fender", "Jazz Bass", 1964)
    al(2)  = new guitar("Guild", "Bluesbird", 1971)
    
    cMan = CType(Me.BindingContext(al), CurrencyManager)
    
    TextBox1.DataBindings.Add("Text", al, "make")
    TextBox2.DataBindings.Add("Text", al, "model")
    TextBox3.DataBindings.Add("Text", al, "year")
  9. Form_Load 이벤트 뒤에 다음 코드를 추가합니다.
    Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
            cMan.Position += 1
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button2.Click
            cMan.Position -= 1
    End Sub
    
    Private Sub Button3_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button3.Click
            cMan.Position = 0
    End Sub
    
    Private Sub Button4_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button4.Click
            cMan.Position = al.Length - 1
    End Sub
  10. 프로젝트를 빌드하고 실행합니다.
  11. 단추를 눌러 다른 배열 요소를 표시합니다. 개체 값을 편집할 수도 있습니다.

참조

자세한 내용은 Visual Studio .NET 온라인 도움말의 "Windows Forms의 데이터 소비자" 항목을 참조하십시오.

속성

기술 자료: 313639 - 마지막 검토: 2014년 2월 24일 월요일 - 수정: 1.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Visual Basic .NET 2002 Standard Edition
키워드:?
kbnosurvey kbarchive kbhowto kbhowtomaster KB313639

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com