Вы создаете Form
из другого класса - любые изменения, сделанные вами для потомков Form
, не будут отображаться, потому что это другая форма, которая отображается.Вместо этого вы хотите либо передать экземпляр Form
, работающий в класс FtpFileSystemWatcher
, чтобы он мог получить доступ к свойству Form.Controls
, либо предоставить ему прямой доступ к ListBox
или источнику ListBox
items.
EDIT
Предложение:
public partial class Form1 : Form
{
private FtpFileSystemWatcher mWatcher;
// ... some code ...
public Form1()
{
InitializeComponent();
// Create a new watcher and give it access to this form
mWatcher = new FtpFileSystemWatcher(this);
}
// ... Logging code ...
}
public class FtpFileSystemWatcher
{
private Form1 mMainForm;
public FtpFileSystemWatcher(Form1 mainForm)
{
mMainForm = mainForm;
}
public void Log()
{
mMainForm.logUri(...);
}
}
Это всего лишь пример некоторого формата кода, который вы можете использовать, чтобы задать FtpFileSystemWatcher
доступ к бегу Form
.Это будет установлено, когда Form
запущен (при условии, что он работает правильно).Затем вы должны увидеть желаемые обновления.