Wątek przeniesiony 2015-02-11 15:54 z C# i .NET przez ŁF.

Przekazanie zmiennej do metody click button

0

Hej,

konstruktor formy

        public NatluszczanieForm(string path)
        {
            this.file_name = Path.GetFileNameWithoutExtension(path);
            this.path_to_file = path;

            InitializeComponent();

            // wypełniam grid
            FillGrid(path, grid);

            object ZsId = CheckTaskExistance(file_name); // sprawdzam obecność wpisu w bazie danych i zwracam ID

            if (Convert.ToInt32(ZsId) == 0)
            {
                zaczytaj_btn.Enabled = false;
                log_txt.ForeColor = Color.Red;
                log_txt.Text = "BŁĄD: nie znalazłem wpisu w bazie";
            }
        }

i teraz chciałbym spod przycisku uruchomić pewne akcje, które korzystać muszą z tego ZsId.

Jak go przekazać do metody click button?

0

Zadeklarować

ZsId

globalnie?

0
Złoty Krawiec napisał(a):

i teraz chciałbym spod przycisku uruchomić pewne akcje, które korzystać muszą z tego ZsId.

Jak go przekazać do metody click button?

Najprościej byłoby wstawić tę wartość do pola klasy.

1
wojas666 napisał(a):

Zadeklarować globalnie?

W c# nie ma globalnych zmiennych, jakbyś przeglądnął chociaż jedna z tych książek "zawierających bzdury" to byś wiedział ;p

0

Możesz awansować tą zmienną lokalną metody na pole klasy:

class NatluszczanieForm
{
    //prywatne pole klasy
   //chociaż bardziej politycznie byłoby _zsId 
   // lub private object ZsId {get;set}
   private object ZsId; 


   public NatluszczanieForm(string path)
   {
      /****/
      ZsId = CheckTaskExistance(file_name); // sprawdzam obecność wpisu w bazie danych i zwracam ID
   }
}

Wtedy będzie widoczna w obrębie całej klasy.

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