2016-04-01 20 views
1

Ich habe zwei Frorms - Form2 und Form3. In Form2 habe ich Variable checkedText durch folgende Weise erstellt:Verwenden Sie Variable von einem Formular zum anderen in 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); 

Und ich möchte diese Variable in Form3 verwenden. Wie kann ich das tun, ohne Textbox oder Label zu erstellen? Vielen Dank für Ihre Beratung im Voraus.

+0

Verwenden Sie globale Variablen. –

+0

Definieren Sie es als öffentliche (Klassen-) Variable und greifen Sie darauf über die Instanzvariable 'form2' zu. –

Antwort

1

Man muss es eine öffentliche/intern zugängliche Eigenschaft auf der Formularklasse machen:

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

    //etc... 
} 

Also, wenn Sie Ihren aufgegebener Text diese Eigenschaft festgelegt:

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

Jetzt wird CheckedText verfügbar seine zu anderen Formen.

+0

Ja, du hast Recht. Danke vielmals. – SmithiM

Verwandte Themen