2011-10-22 5 views
0

전화 번호부 응용 프로그램을 쓰고 있습니다.Textbox의 Listview에서 데이터를 표시하는 방법은 무엇입니까?

데이터베이스에 저장된 데이터를 볼 수있는 목록보기가 있습니다. 수정 옵션을 추가하고 싶습니다.

특히 : 구독자와 전화 번호가있는 행을 표시하고 편집 버튼을 누르면 두 개의 텍스트 상자가있는 창이 화면에 표시됩니다. 첫 번째 텍스트 상자에는 이름이 표시되고 두 번째 텍스트 상자에는 표시된 항목의 전화 번호가 표시됩니다.

그 방법을 알려주시겠습니까?

답변

0

이 같이 할 수 ...

네,하지만 텍스트 상자 및 ListView를 다른 창에 내가 할 수없는 액세스 그것을 각 Form2를 드래그에서

다른 두 개의 텍스트 상자를 드롭 이렇게하십시오 ....

Form2를 표시하기 전에 Form2 클래스에 속성을 만들고 설정하십시오.

public class Form2 
{ 
    public string Name 
    { 
     get { return textbox1.Text; } 
     set { textbox1.Text = value; } 
    } 
    public string phonenumber 
    { 
     get { return textbox2.Text; } 
     set { textbox2.Text = value; } 

    } 

} 

public class Form1 
{ 

    private void btnedit_Click(object sender, eventargs e) 
    { 
     for (int i = 0; i < lv.Items.Count; i++) 
     { 
     // is i the index of the row you selected? 
     if (lv.Items[i].Selected == true) 
     { 
      //I show here the second field text (SubItems[1].Text) from the selected row(Items[i]) 
       Message.Show(lv.Items[i].SubItems[1].Text); 
       break; 
     }    
     } 
     Form2 frm2 = new Form2(); 
     frm2.Name= text1; 
     frm2.phonenumber = text2; 
     frm2.Show(); 
     this.Hide(); //// if you want to hide the form1 
    } 
    } 
} 

나는

+0

나는 그것을했고, 문제없이 컴파일하지만 편집 버튼을 쳤을 때 나는 '.... 그 것이다 당신을 도움이되기를 바랍니다 "InvalidArgument = '2'의 값이 'index'에 유효하지 않습니다 매개 변수 이름 : index"이 줄의 경우 '문자열 번호 = listView.SelectedItems [0] .SubItems [2] .Text; ' –

+0

@ Владислав Найденов 나는 나의 대답을 편집했다 나의 대답을 보아라 –

+0

고마워. 오류를 발견했습니다. SubItems 인덱스의 값을 변경하면 작동합니다. –

0

사용 예를 들어 MouseClick과 이벤트,

private void ListBox1_MouseClick(System.Object sender, System.Windows.Forms.MouseEventArgs e) 
{  
    this.TextBox1.Text = this.ListBox1.SelectedItem; 
} 
+0

예,하지만 TextBox와 ListView는 다른 창에 있으며 서로 액세스 할 수 없습니다. –

+0

텍스트 상자가 다른 양식에서만 제어하거나 기본 폼에서 목록보기에서 선택된 매개 변수를 전달하는 텍스트 상자가있는 양식에서 생성자를 선언하거나 속성을 선언하고 선택한 항목으로 항목을 향상시켜야하는 경우. –

+0

@ Владислав Найденов 나는 나의 대답을 편집했다. 나의 대답을 보라. –

관련 문제