Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Werte eines TextBox (UserControl) an Form übergeben.
LeChimp
myCSharp.de - Member

Avatar #avatar-2862.gif


Dabei seit:
Beiträge: 25

Themenstarter:

Werte eines TextBox (UserControl) an Form übergeben.

beantworten | zitieren | melden

Hallo zusammen,

habe mal eine frage an euch.
In meinem Programm habe ich mir ein UserControl selber erstellt indem ich mehrere TextBoxen habe.

Jedes mal das der user etwas in der TextBox Einträgt möchte ich den Eintrag an meiner Form weiterleiten bzw. abfragen.
Wie geht es am bestens? mit einem Event? falls ja, könnte mir jemand sagen wie der aussehe muss?
oder soll ich mir wieder den Tutorial "Kommunikation zwischen zwei Formen" anschauen.

Danke
LeChimp
private Nachricht | Beiträge des Benutzers
rollerfreak2
myCSharp.de - Member

Avatar #avatar-3271.jpg


Dabei seit:
Beiträge: 916

beantworten | zitieren | melden

Wie du schon festgestellt hast ist das beste ein Event zu definieren, bzw. das gibt es ja sogesehen schon.
TextChanged Event der Textbox. Daher braucht die Form sich nur auf das Event anmelden und schon weiß sie wenn sich ein Text ändert. Im sender der Eventmethode bekommst du dann immer die entrsprechende Textbox mit rein gereicht.

Tortzdem kann es nicht schaden die das oben besagte Turotial mal durch zu lesen, dann kannst du mal versuchen ein eigenes Event zu definieren. Im Usercontrol dann dieses Event feuern wenn sich irgednwas an irgendeiner TB ändert. Sorum ist es nämlich sauberer und richtiger, weil dann die Form nix von den TB wissen muss, nur das Event muss public sein.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von rollerfreak2 am .
Again what learned...
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo LeChimp,
Zitat
oder soll ich mir wieder den Tutorial "Kommunikation zwischen zwei Formen" anschauen.
nein, musst du nicht, aber in die FAQ solltest du vor dem Posten schon immer gucken. Siehe [FAQ] Eigenen Event definieren.

herbivore
private Nachricht | Beiträge des Benutzers
LeChimp
myCSharp.de - Member

Avatar #avatar-2862.gif


Dabei seit:
Beiträge: 25

Themenstarter:

beantworten | zitieren | melden

Hallo Ihr Wegweiser
leider muss ich noch was fragen, denn ich komme einfach nicht weiter.
Eine meiner 2 grauen Zellen möchte die Tutorials nicht verstehen (Kann ja auch sein, dass beide es nicht kapieren möchten).

Nun... habe zwei UserControls ( Uc1, Uc2) und will strings von Uc1 zu Uc2 sicken bzw. setzen.

Das schicken
In Uc1 habe ich:


public void teampos1(string team)
{
   Uc2 uc2 = new Uc2();
   uc2.setteam(team);

}

und in Uc2:


public void setteam(string team)
{
   label3.Text = team; // Wieso geht dies hier nicht
   MessageBox.Show("Dass hier geht" + team); // Wieso geht dies?
}

Wass fehlt mir (Bis ein paar billonen graue Zellen im Kopf?) ich meine, was fehtl mir im Code.
Danke Nochmals....
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo LeChimp,

du erzeugst ein neues UserControl, willst aber den Text sicher in dem bestehenden Control setzen.

Die UserControls sollten nicht direkt miteinander reden. Feuer in dem eine Control ein Event ([FAQ] Eigenen Event definieren), fange das Event in der Form und lass das Form dann den Text an das andere UserControl übergeben.

herbivore
private Nachricht | Beiträge des Benutzers
Tarion
myCSharp.de - Member



Dabei seit:
Beiträge: 381

beantworten | zitieren | melden

Oder erstelle dir ein Datenobjekt was die Events und Properties hat die du brauchst.
Dann bekommt jedes UserControl eine Refferenz auf dieses Datenobjekt. Das Kannst du ja z.:B in der Form erstellen.
Die UserControls bekommen das Objekt dann auch am besten über properties, da es sonst oft Probleme mit dem Designer gibt wenn man UserControl Parameter im Konstuktor mit gibt.
Das geht dann schon in Richtung Trennung von Gui und Daten was generell kein schlechter Ansatz ist.
private Nachricht | Beiträge des Benutzers