현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

BUG: SelectedIndex-1로 설정하면 ComboBox 지우지 않습니다.

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

327244
더 이상 지원되지 않는 제품의 KB 내용에 대한 고지 사항
이 문서에서는 Microsoft에서 더 이상 지원하지 않는 제품에 대해 설명합니다. 따라서 이 문서는 "있는 그대로" 제공되며 업데이트되지 않습니다.
현상
데이터 바인딩된 Windows Forms 콤보 상자 컨트롤의 SelectedIndex 속성 -1 = 설정할 때 선택한 항목을 ComboBox에서 않는 지우기 않습니다.

-1 값은 처음 속성에 할당될 때 ComboBox에서 인덱스 0 (영) 첫 번째 항목이 선택됩니다. -1 값은 번째로 속성에 할당될 때 이 할당을 취소합니다 ComboBox를 발생합니다.
원인
선택할 수 있도록 0 인덱스에 있는 항목을 처음으로 ComboBox SelectedIndex 속성을 -1로 할당할 때 발생합니다. 0 인덱스에 있는 항목을 이미 선택되어 있으면 ComboBox가 지웁니다.
해결 방법
이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.
  • 방법 1
    다음 코드를 사용하여 두 번 행의 SelectedIndex 값 -1을 할당합니다:
    ComboBox1.SelectedIndex = -1ComboBox1.SelectedIndex = -1					
  • 방법 2
    값 -1을 뒤에 먼저 위해 SelectedIndex 0 값을 할당하려면 다음 코드를 사용하여:
    ComboBox1.SelectedIndex = 0ComboBox1.SelectedIndex = -1					
  • 방법 3
    다음 코드를 수동으로 데이터 원본에 바인딩하는 대신 컨트롤에 항목을 추가할 수 있습니다:
       Dim DataTbl As New DataTable("DemoTable")   Dim DataCol1 As New DataColumn()   Dim DataCol2 As New DataColumn()   Dim DRow As DataRow   Dim counter As Int32   DataCol1.DataType = GetType(Int32)   DataCol1.ColumnName = "ID"   DataCol1.AutoIncrement = True   DataTbl.Columns.Add(DataCol1)      Dim Key(0) As DataColumn   Key(0) = DataCol1   DataTbl.PrimaryKey = Key   DataCol2.DataType = GetType(String)   DataCol2.ColumnName = "CompanyName"   DataTbl.Columns.Add(DataCol2)   For counter = 0 To 10      DRow = DataTbl.NewRow()      DRow("CompanyName") = "John " & counter.ToString      DataTbl.Rows.Add(DRow)   Next   ' Populate the ComboBox manually   Dim dr As DataRow   For Each dr In DataTbl.Rows      ComboBox1.Items.Add(dr("CompanyName"))   Next					
현재 상태
Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열된 제품에서 이 문제를 확인했습니다.
추가 정보

Windows Mobile 기반 스마트폰에 GPRS 연결이 구성되어 있는지 확인합니다

  1. 새 Windows 응용 프로그램을 만듭니다.
  2. ComboBox 및 Button 컨트롤을 폼에 추가하십시오.
  3. 폼을 두 번 클릭한 다음 폼의 Load 이벤트에 다음 코드를 입력합니다:
       Dim DataTbl As New DataTable("DemoTable")   Dim DataCol1 As New DataColumn()   Dim DataCol2 As New DataColumn()   Dim DRow As DataRow   Dim counter As Int32   DataCol1.DataType = GetType(Int32)   DataCol1.ColumnName = "ID"   DataCol1.AutoIncrement = True   DataTbl.Columns.Add(DataCol1)      Dim Key(0) As DataColumn   Key(0) = DataCol1   DataTbl.PrimaryKey = Key   DataCol2.DataType = GetType(String)   DataCol2.ColumnName = "Name"   DataTbl.Columns.Add(DataCol2)   For counter = 0 To 10      DRow = DataTbl.NewRow()      DRow("Name") = "John " & counter.ToString      DataTbl.Rows.Add(DRow)   Next   With ComboBox1      .DataSource = DataTbl       .ValueMember = "ID"      .DisplayMember = "Name"   End With					
  4. 두 번 클릭하여 Click 이벤트에 대한 코드를 삽입 단추:
    ComboBox1.SelectedIndex = -1					
  5. 응용 프로그램을 실행하려면 F5 키를 누릅니다.
  6. 콤보 상자에 있는 첫 번째 이외의 항목을 선택하고 폼에 단추를 누릅니다.

    이제 첫 번째 항목을 ComboBox에서 나타납니다. 두 번째 단추를 누르면 ComboBox가 지웁니다.

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 327244 - 마지막 검토: 01/12/2006 20:20:13 - 수정: 3.0

Microsoft Common Language Runtime (included with the .NET Framework) 1.0

  • kbmt kbbug kbnofix KB327244 KbMtko
피드백