var di = new DirectoryInfo(Form1.dlg.SelectedPath);
di.CopyTo(Form1.dlg2.SelectedPath, true);
Проблема с приведенным выше кодом заключается в том, что вы пытаетесь получить доступ к переменным-членам экземпляра формы, как если бы это был член класса.
Вы пишете Form1.dlg.SelectedPath
, но Form1 - это имя вашего класса и, вероятно, не экземпляра.
Другая ошибка, с которой вы, вероятно, сталкиваетесь, заключается в том, что компилятор говорит, что элемент недоступен из-за его уровня защиты. Это потому, что ваши участники не объявлены публичными (переменная dlg
). Это правильно, но вместо того, чтобы обнародовать его, предоставьте свойство для доступа к членам класса. Эта проблема возникает, если вы пытаетесь получить доступ к члену из другого класса (я думаю, вы пытаетесь это сделать).
public FolderBrowserDialog Dlg{
get{return dlg;}
}
Лучше, однако, для этого есть решение, подобное опубликованному Марком Грэйвеллом, не предоставляющее диалоговое окно, а выбранное значение.