2013-09-18 2 views
0

Я новичок в C# и уже начинаю испытывать некоторые проблемы. Несколько часов я искал в Интернете, как это сделать, но моя программа отказывается подчиняться своему хозяину.C# - Неудача при пересылке данных между командами

My MainForm имеет ListBox. Form2 использует Open File Dialog и должен возвращать путь к файлу в ListBox в MainForm

Это код, который я имею в Form2

public void BrowseFileDialog_FileOk(object sender, CancelEventArgs e) 
    { 
       string path = BrowseFileDialog.FileName; 
       MainForm frm = new MainForm(); 
       frm.AppListAdd(path); 

    } 

Это MainForm

public void AppListAdd (string path) 
    { 
     AppList.Items.Add(path); 
    } 

Примечание: AppList = ListBox

Я не получаю сообщение об ошибке, однако ListBox остается пустым. Спасибо за любую помощь.

+0

Shouldn't это будет frm.AppList.Items.Add (путь); – Tony

ответ

0

Вы создаете новый экземпляр MainForm и не показываете его, в то время как видимая/существующая/реальная основная форма не затрагивается.

Form2 Добавить в классе:

public MainForm MainForm { get; set; } 

При создании Form2 сделать (предположительно, в методе MainForm «s):

Form2 form2 = new Form2(); 
form2.MainForm = this; 

и

public void BrowseFileDialog_FileOk(object sender, CancelEventArgs e) 
{ 
    string path = BrowseFileDialog.FileName; 
    if (MainForm != null) 
    MainForm.AppListAdd(path); 
} 
Смежные вопросы