2012-10-04 4 views
0

WinForms2에서 listview의 선택된 항목에서 목록 상자의 항목을 WinForm1에 추가하려고하지만 항목이 목록 상자에 추가되지 않습니다.listview의 선택한 항목에서 목록 상자에 항목 추가 C#

public void setsrc(ListViewItem src) 
    { 
     Listbox1.Items.Add(src.Text); 
    } 

Winform2 :

WinForm1 fMain = new WinForm1(); 
    private void AddItemsButton_Click(object sender, EventArgs e) 
    { 

     foreach (ListViewItem src in listView1.CheckedItems) 
     { 
      fMain.setsrc(src); 
     } 
    } 

내가

WinForm1 fMain = new WinForm1(); 
    private void AddItemsButton_Click(object sender, EventArgs e) 
    { 

     foreach (ListViewItem src in listView1.CheckedItems) 
     { 
      fMain.Listbox1.Items.Add(src.Text); //The modifier is set to internal of Listbox1 
     } 
    } 

나는 노력도 Form2의 코드 아래에 시도 아래

내가

WinForm1을 사용하고있는 코드입니다 확인하려면 y 중단 점 적용. 이상한 일은 값이 두 조건 모두에서 나오지만 listbox1에 나열되지 않는 것입니다. Form1의 컨트롤이 업데이트되지 않는 것과 같은 것이 있습니다.

도와주세요.

+0

어떻게'fMain'을 선언하고 있습니까? –

+0

코드가 업데이트되었습니다. – Imran

답변

1

문제는 Form2에 WinForm의 새 인스턴스를 선언하고 있다는 것입니다. 물론 아무 것도 볼 수 없습니다. Form2 개체를 만들 때 WinForm1에 대한 참조를 만들어야합니다. 당신이 Form2을 만들 때이 작업을 수행 할 수 있습니다

한 가지 방법은 어딘가에 WinForm1에 다음 생성자

class Form2 
{ 
    private WinForm1 form; 
    public Form2(WinForm1 form) 
    { 
     this.form = form; 
    } 
} 

하는 것입니다.

Form2 form = new Form2(this); 
form.Show(); 

그리고 개체에 의미있는 이름을 사용하십시오.

+0

물론 나는 그것을 돌볼 것이고 Bryan에게 감사 할 것이다. 그것은 완벽하게 작동했습니다. – Imran

관련 문제