2016-04-01 2 views
1

У меня есть два Frorms - Form2 и Form3. В Form2 я создал переменную checkedText по следующим образом:Использовать переменную из одной формы в другую в C#

List<string> checkedCheckboxes = new List<string>(); 
     CheckBox[] checkBoxes = new CheckBox[] { chbts3, chbda3, chbb50, chbg50, chbapc, chbpbw, 
              chbbwp, chbwwbw, chbiconscp, chbiconsmile, chbmdm, chbpica, 
              chbmypim, chbagile, chbscrm, chbwwapo, chbkc, chba50, chbtimetrends, 
              chbwawe, chbteamcenter, chbvhub, chbgpg, chbpmg, chbd7w, chbsteelwedge, 
              chbsrs, chbpwrchncosmo, chbavailsvc, chbphweb, chbmrs, chbicondt}; 
     foreach (CheckBox checkbox in checkBoxes) 
     { 
      if (checkbox.Checked) 
      { 
       checkedCheckboxes.Add(checkbox.Text); 
      } 
     } 
     string checkedText = String.Join("|", checkedCheckboxes); 

И я хотел бы использовать эту переменную в Form3. Как я могу это сделать без создания текстового поля или метки. Большое спасибо за любой ваш совет заранее.

+0

использовать глобальные переменные. –

+0

Определите его как общедоступную (класс) переменную и получите доступ к ней с помощью переменной экземпляра 'form2'. –

ответ

1

Вы должны сделать это публичный/внутренний доступный объект на класс формы:

class Form2 : Form 
{ 
    public string CheckedText { get; set; } 

    //etc... 
} 

Итак, когда вы установите ваш проверил текст использовать это свойство:

CheckedText = String.Join("|", checkedCheckboxes); 

Теперь CheckedText будет доступен к другим формам.

+0

Да, вы правы. Большое спасибо. – SmithiM

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