2014-03-18 3 views
-1

У меня есть программа, которая имеет две формы. Есть ли способ, который я могу сделать переменной в Form1, появляется в Form2 без необходимости создания класса или функции?Есть ли способ сделать переменные над формами?

Я сделал Form2, выполнив:

Form2 form2 = new Form2(); 

private void button1_Click(object sender, EventArgs e) 
{ 
    form2.show(); 
} 
+0

Спасибо, очень полезно -_- – jonathanh8686

+0

Открываете ли вы одну форму от другой? Можете ли вы подробнее объяснить, как использовать эти формы? – Szymon

+0

@ jonathanh8686 как вы ожидаете делать что-либо в коде «без необходимости создавать класс или функцию»? Мне кажется, что вы ожидаете волшебства. –

ответ

2

Если вы откроете Form2 из Form1, вы можете сделать это несколькими способами:

  • Создать конструктор на Form2, что бы принять значение, которое вы хочу пройти.

  • Создайте объект на Form2 и установите его перед показом Form2.

  • Вы можете передать ссылку на Form1 (через конструктор или свойство) и использовать его в Form2 для чтения значений свойств Form1.

0

Вы можете «разделить» объект между двумя формами через свои конструкторы (инъекция зависимостей).

например.

Form1Ctor(SharedObject obj) 
Form2Ctor(SharedObject obj) 

var obj = new SharedObject(); 
var form1 = new Form1(obj); 
var form2 = new Form2(obj); 
0

Если свойство используется только в одной форме вы могли бы сделать это статический

например

public static string s { get; set; } 
Смежные вопросы