Odwołanie się do zmiennej w innej formie

0

Witam

Kombinuje troszke z rozwiązaniem mojego problemu (http://4programmers.net/Forum/388437#id388437).
Mam pytanko. Jak odwołać się do zmiennej, która jest w innej Form?

Za pomoc z góry dziękuję.
Rychu

0

zrobić ją publiczną
napisać do niej accessor
napisać metodę, która będzie zwracała jej wartość (ale to raczej złe rozwiązanie)

0

Misiekd, dziękuję za odpowiedź.

Rozumiem, że to są 3 różne możliwe rozwiązania?

Mógłbyś mi pomóc z upublicznieniem zmiennej?
Czy taką zmienną deklaruje się tak samo jak zwykłą dodając jej tylko z przodu "public"?
Jeśli tak to jak się do niej potem odwołać na innej formantce? Bo ja już nie mam pomysłu :/
Mam już cały kod gotowy, tylko brakuje mi zaimportować dwie zmienne z innej formantki i stoje :/
Proszę o pomoc.

0
Rychu22 napisał(a)

Rozumiem, że to są 3 różne możliwe rozwiązania?
tak

Mógłbyś mi pomóc z upublicznieniem zmiennej?
Czy taką zmienną deklaruje się tak samo jak zwykłą dodając jej tylko z przodu "public"?
tak

Jeśli tak to jak się do niej potem odwołać na innej formantce? Bo ja już nie mam pomysłu :/
np. tak

class Form2:Form
{
  //zmienna publiczna
  public string TwojaZmienna;

  //accessor
  private string mojaZmienna; //zmienna prywatna może się nazywać dowolnie
  public string MojaZmienna    /*tak jak właściwość, która ją upublicznia. Przyjeło się jednak, że  zmienna jest z małej a właściwość z dużej litery */
  {
    get /* to się wykonuje jak chcesz pobrać wartość właściwości. Np. możesz tego nie dać i wtedy będziesz mógł tylko przypisywać wartość do MojaZmienna a nie będziesz mógł jej odczytać */
    {
      return mojaZmienna;
    }
    set /* tu tak jak wyżej ale to jest przy przypisywaniu wartości do właściwości */
    {
      if (value == "") //np. możesz sprawdzić czy przypadkiem nie było próby przypisania pustego ciągu
        throw new Exception("moja zmienna musi mieć jakąś wartość!");
      mojaZmienna = value; //value to zmienna do której trafia przypisana wartość
    }
  }

  //metoda
  public string DajMojaZmienna()
  {
    return mojaZmienna;
  }
}

gdzieś np. w form1

private Form2 form2;
form2.TwojaZmienna = "blablabla";
form2.MojaZmienna = form2.DajMojaZmienna();

1 użytkowników online, w tym zalogowanych: 0, gości: 1