Visual C# — przekazywanie danych

Visual C# — przekazywanie danych
Razem głosów: 9 co stanowi: 97.78% całości.

alucardshellhound+rolled+a+random+image+posted+in+comment+8+at+_0643dcff0b1945a8168a856f5962be4fPrzekazywanie danych między formami jest jednym z większych problemów wśród początkujących programistów .Net C#. Rozwiązań i realizacji tego zadania jest wiele, niektóre są lepsze inne gorsze i w zasadzie wszystkie są całkiem dobre tak długo jak działają :) ….

Ja preferuję wykorzystanie konstruktorów do przekazywania danych, ponadto ona wydaje mi się też łatwiejsza do przekazania i zrozumienia , a przede wszystkim wymaga mniejszej ilości linijek kodu.  Tradycyjnie więc zaczniemy od stworzenia nowego projektu w Visual Studio wiecie jak :)

Mamy tam naszą Form1  możemy ją zostawić , albo zmienić sobie nazwę :)

Przechwytywanie

Do formy dodamy sobie textbox i button ale tym razem pokażę wam jak to zrobić ręcznie w kodzie Form1 czyli edytując ręcznie plik Form1.cs bez używania Designera :) Dlatego też w sekcji Form1_Load umieszczamy metodę DodajKontrolki();

A następnie tworzymy ją całą dzięki czemu na naszej formie pojawi się i button i textBox :)

Oczywi?cie w designerze nasze okno b?dzie nagie czyli puste i bez niczego, ale wierzcie mi wszystko co trzeba po kompilacji si? na nim pojawi :)

Przechwytywanie

Gdy mamy już na naszej Form1  Przycisk i Pole textowe przystępujemy do dodania nowej formy , która będzie bezpośrednim potomkiem Form1. Zostawiamy jej nazwę Form2 lub sobie zmieniamy na inną niema to znaczenia tutaj :) W Form2 czyli naszej potomnej formie dziecku użyjemy kodu z formy dominującej (Form1) , ale po małej modyfikacji metody DodajKontrolki().  Zmiany są czysto kosmetyczne głównie dotyczą zmiennych klasy dla Form2 (potomnej)  Forma potomna nie będzie zawierać też metody Form_Load gdyż nie jest potrzebna:

i oczywiście dodamy sobie button i textBox:

To tyle jeśli lubisz pisać ręcznie oczywiście możesz użyć Designera w tym wypadku nie będzie ten kod potrzebny. Jeśli się jednak skupicie pewnie dostrzeżecie różnicę :)

Właściwy kod :

Jednak najważniejsze w naszym kodzie jest dodanie nowego konstruktora do formy potomnej czyli Form2. Konstruktor ten ma za zadanie przyjąć ciąg znaków reprezentowany przez TextBox na formie dominującej czyli Form1. To jednak nie wszystko musimy dodać deklarację dla zmiennej łańcuchowej by ustawić text w textBoxie jako wartość ciągu..  Chyba nie zamotałem za bardzo :) Niemniej jednak w kodzie będzie wszystko jasne:

Na Form1 natomiast w Click_Event dla butona1 dodajemy kod który prześle zawartość textBoxa do textboxa na Form2, która z powodu nie używania metody Form2_load zostanie pokazana jako okno dialogowe:

I oczywiście w Form2 w Click_Event dla button1 wpisujemy:

Co spowoduje zamknięcie formy :) I to wszystko jeśli chodzi o przesyłanie danych między formami w Visual C# jak widzicie jest to banalnie proste :)

Zresztą sami zobaczcie:

Przechwytywanie2

 

Tym sposobem to co wpiszemy do textboxa gdy wciśniemy Wyślij  pojawi się w textboxie drugiej formy :)

[dm]49[/dm]

Prawda że proste ??  Miłej zabawy :)

 

 

Podziel się na:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay