Wątek przeniesiony 2014-12-15 10:35 z C# i .NET przez somekind.

Z dwóch form do jednej

0

Witam. Chcę zrobić przesyłanie danych z dwóch form do jednej. Z jednej formy najpierw mi idą dane do drugiej ale tworząc trzecią formę nie wiem jak jej dane przekazać znów do drugiej.

Pierwsza forma zawiera coś takiego

        public string nick
        {
            get { return nick1; }
        }

Druga forma odbiera te dane i ma w sobie

        private Form1 f1;

        public Form2(Form1 f1)
        {
            this.f1 = f1;
}

Tutaj wszystko jest w porządku ale jak teraz zrobić z trzeciej formy znów do drugiej, po przecinku wpisując Form3 f3 wchodzi ale deklarując formę do tej pory miałem Form2 f2 = new Form2(this); Teraz po dodaniu następnej formy woła mi o drugi parametr. Możecie jakoś to wytłumaczyć jak dla większej ilości form przesyłać tak dane? Z góry dzięki

0

A gdzie tworzysz tą trzecią formę?
Form3 też niech przyjmuje w konstruktorze Form1.

1

Ja mam inna propozycje, zamiast robić powiązania miedzy formami i osadzać dane bezpośrednio na nich zrób sobie klasę np:

class DaneMateusza1234{
	public string Nick {get;set;}
//inne pola
}

wtedy w Form1 property w stylu:

string DaneMateusza1234 Dane;

i powiedzmy ze masz tam event, ktory pokazuje forme2, wtedy wszystkie dane przekazujesz do formy :

private button1_Click(object sender, EventArgs args){
...
form1.Dane = this.Dane;

albo przez konstruktor jak wolisz:

new Form2(this.Dane);

analogicznie przekazujesz je do Form3 i cały czas pracujesz na 1 obiekcie z danymi, modyfikacje w jednej formie są widoczne w innych.

0

Rozumiem, że mam stworzyć plik .class? Nie bardzo znam się na obiektowości dlatego omijam takie wyjścia :/

0

To proponuje się poznać, bo Forma to też klasa. Nie da się programować w C# bez znajomości OOP.

0

Chociaż podpowiedz gdzie tą klasę zrobić, w Formie, która ma przekazywać informacje czy w tej, która pobiera?

Do tego stringu Dane zapisuje się to co chce się przekazać na inną formę?

0

To znaczy klasę tworzysz najlepiej w oddzielnym pliku. Instancje klasy w pierwszej formię skąd uzupełniasz ją danymi, i przekazujesz pozostałym formom.

Do tego stringu Dane zapisuje się to co chce się przekazać na inną formę?

Tak

0

Jakoś to mi się udało zrobić, lecz nie działa. W formie 2 wybieram dane jakie chce przekazać, buttonem przekazuje je i po przekazaniu sprawdzam czy zostały przekazane, wszystko jest okej ale jeżeli chce odczytać je z pierwszej formy to są puste.

Klasa wygląda tak

    class Dane
    {
        public string miejsce { get; set; }
        public string potwor { get; set; }
    }

I w formie przekazującej robię Dane d = new Dane(); d.miejsce = combobox... z d.potwor to samo. Nie rozumiem tylko linijki, w której kolega napisał form1.Dane = this.Dane

Możecie powiedzieć co robię nie tak?

1

Za każdym razem kiedy używasz operatora new tworzysz nowy obiekt, więc nic dziwnego że są puste.
Ogarnij jakiś kurs programowania.

0

No tak a nie pisząc new jest błąd "Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu".

4

Zacznij od kursu podstaw programowania. Jak rok popiszesz w konsoli, to potem weź się za okienka.
Jak na razie próbujesz posłać rakietę w kosmos nie wiedząc na czym polega grawitacja.

0

No w porządku ale nie możecie mi pomóc? Muszę stanąć z moim projektem bo nie wiem jak mam to zrobić a sam tak szybko się nie dowiem :/. Po prostu nie wiem co robię źle i czego brakuje

0

Wyobraź sobie coś takiego, jesteś na forum motoryzacyjnym. Ktoś zakłada temat "Jak ruszyć samochodem"
-Wsiadam, zapinam pasy, dodaje gazu (wiem że to ten po prawej) ale nie ma żadnej reakcji, co robię źle?
Ktoś odpowiada
-Musisz odpalić samochód i tłumaczy jak to zrobić.
-Dobra samochód zapalił ale kiedy dodaje gazu to tylko jest więcej hałasu i dużo dymu z tyłu, ale samochód nie rusza.
-Musisz wrzucić 1 bieg.
-No ale wtedy samochód gaśnie.

I co dalej chciało by Ci się bawić w tłumaczenie jak działa sprzęgło czy od razu odsyłasz kolesia na kurs?

Oczywiście wciąż masz szansę trafić na kogoś kto jest pewnie nowy na forum, pełny werwy i chęci pomagania któremu będzie się chciało tłumaczyć jak działa sprzęgło i milion innych rzeczy o które zapytasz zaraz potem.

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