2017-02-14 2 views
-2

Я использую WinForms. У меня есть 2 формы, форма 1 (основная форма) и форма 2. У меня есть 2 переменные в Form1, которая равна Computer_Selected и Default_Selected. Я меняю одну из переменных, когда я нажимаю кнопку в Form1, а затем показываю Form2. В Form2 я хочу знать значения переменных bool. Как я могу это сделать?Найти значение переменной из другой формы

Форма 1

public bool Computer_Selected; 
    public bool Default_Selected; 

    private void btn_Public_Kiosk_Click(object sender, EventArgs e) 
    { 
     Computer_Selected= true; 
     Default_Selected = false; 
     //show form2 and hide this form-(form1)... 
    } 

Форма 2

private void Form1_Load(object sender, EventArgs e) 
    { 
     Console.WriteLine("Bool Value = " + Computer_Selected); 
    } 
+2

https://msdn.microsoft.com/en-us/library/f6525896(v=vs.90).aspx – BugFinder

+2

Вы можете найти некоторые полезные варианты здесь : [Взаимодействие между формами - как изменить контроль формы из другой формы?] (Http://stackoverflow.com/a/38769212/3110834) –

+0

Вы можете попробовать передать значение во вторую форму, я думаю, что это это синтаксис 'private void btn_Public_Kiosk_Click (отправитель объекта, EventArgs e) {Computer_Selected = true; Default_Selected = false; Form2 frm2 = новый Form2 (Computer_Selected); frm2.Show();} 'тогда в form2' public Form2 (bool computerSelected) {InitializeComponent(); // используем значение по мере необходимости} ' – Nope

ответ

0

Если у вас будет только один экземпляр класса Form1, чем вы можете установить, что переменные static

public static bool Computer_Selected; 
public static bool Default_Selected; 

Затем в Form2 вы можете получить доступ к ним:

private void Form2_Load(object sender, EventArgs e) 
{ 
    Console.WriteLine("Bool Value = " + Form1.Computer_Selected); 
} 
+0

Это сработало спасибо. Я не знаю, почему кто-то сначала проголосовал за ваш вопрос. – taji01

+0

@ taji01, вероятно, потому, что это один из наиболее простых вопросов для winforms, которые вы найдете и должны были быть отмечены вместо ответа. –

+0

@JayGould Несмотря на то, что это было основополагающим для многих людей, я дошел до этого вопроса до того, как написал его. Я не мог найти вопрос, который передавал бы переменную между формами, поэтому я думал, что id спрашивает. Все, что я мог найти, это передать данные между формой или людьми, демонстрирующими, как это сделать с текстовым полем на YouTube. – taji01

Смежные вопросы