2015-07-24 3 views
1

Итак, у меня есть форма, настроенная для загрузки дополнительной формы из .dll, для дополнительной безопасности, я хочу, чтобы этот .dll читал состояние bool в начальной форме, по существу ;Ошибка передачи данных между WinForms

MainForm запускает SecondForm (который находится в .dll)

SecondForm считывает состояние BOOL от MainForm и действует соответствующим образом.

Я думал, что я мог бы использовать что-то вроде этого ((отрезала от «SecondForm»))

Assembly asssembly = Assembly.LoadFile(@"MainForm.exe"); 
Type t = asssembly.GetType("MainForm.Form1"); 
object O = Activator.CreateInstance(t); 
Form F = O as Form; 

Но это, насколько я получаю. Я не знаю, как ссылаться на логическое значение от «MainForm» на «SecondForm»

+0

Почему вы не передать логическое значение для второго экземпляра формы, когда MinForm создает вторую форму пример? – Steve

+0

Для этого нет необходимости использовать отражение. Поскольку mainform запускает SecondForm, просто передайте значение. – JNYRanger

ответ

6

Выкиньте все это отражения материала и просто передать значение логического значения от MainForm к SecondForm в SecondForm «s конструктор. То, что вы делаете в примере кода, создает совершенно новый экземпляр MainForm, который не является тем, что вы хотите сделать и не имеет смысла.

1

Или, если вы хотите получить доступ к любой другой собственности от MainForm можно реализовать конструктор SecondForm так:

public SecondForm(Form theMainForm) 
{ 
    var booleanValue = theMainForm.Value; 
} 
Смежные вопросы