Hallo Nach zahlreichem benutzen der Suchfunktionen und Google bin ich auf nix gestoßen was mir weiter helfen könnte... Mein Problem: Ich möchte aus einer Textbox1 den Text nach klicken auf den OK Button in eine Textbox2 schreiben. Die 2 Textboxen befinden sich in unterschiedlichen Forms dh. in 2 verschiedene Fenstern. Danke im Vorraus
Schau mal hier: http://www.activevb.de/startseite/index.html Meinst du 2 Programme oder 2 Forms in einem Programm. 2 Programme z.b. über Zwischenablag 2 Forms über Angabe der Form (Form1.Textbox1.Text) gruß hans
Danke für die Antwort. Es handelt sich um 2 Forms in einem Programm hab das nun mal mit dim eingabe as string eingabe = TextBox1.Text form1.textbox1.text = eingabe es funktioniert zwar wenn ich eine 2te Textbox im selben form habe also ohne "form1" aber die Textbox im zweiten Fenster zeigt noch nichts an.
Wenn die eine Form aktiv ist, wird die zweite nicht aktualisiert. Also die 2 Form nach dem Kopieren kurz aktiv schalten und ein "DoEvents" müßte helfen. gruß hans
also, alle controls die man auf forms plaziert sind erstmal private, d.h. man kann von einer anderen Klasse aus (z.B. von form1 auf form2) nicht einfach drauf zugreifen. am einfachsten ist es im form designer die textbox in der zweiten form rechtszuklicken, properties, und da unter "modifier" von "private" auf "public" zu stellen (weiss nicht wie das auf deutsch alles heisst, sollte ja aber zu finden sein). Dann kannst du von aussen drauf zugreifen - aber auch nur über die Instanz der form2 ... d.h. form1 lädt, und darin erstellst du dann form2 und zeigst diese an. (sowas in der art wie
1 | dim frm2 as form2 |
2 | fmr2 = new frm2() |
3 | frm2.Show() |
bitte nicht hauen wenns nicht genau so funktioniert) Dann kannst du mit frm2.textbox1.text = eingabe den Text in der anderen form setzen. Generell solltest du dir wohl mal die grundlagen objektorientierter Programmierung anschauen, da wird im Prinzip genau sowas behandelt, wann und wie man von wo aus auf was zugreifen kann ;)
Ok, hab das nun auf public eingestellt und mal so geschrieben: Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim eingabe As String eingabe = TextBox1.Text form2.TextBox1.Text = eingabe form2.Show() End Sub Funktioniert auch supper, Text wird eingegeben, bestätigt und im 2. Form angezeigt. Das 2. Problem ist nun das der Text in Form2.textbox1 gespeichert werden sollte, dh wenn ich das Fenster schließe und neu öffne, sollte der Text noch immer vorhanden sein. Auch wenn das Programm zur gänze geschlossen und eventuell Win neu gestartet wird . @ Björn V.d.o. zum lesen... ja du hast recht ;)
freut mich das es soweit klappt =) zum speichern der textbox, da gibt es die application settings. Eigenschaften aufs Projekt und auf den Reiter "Settings" klicken, dann noch welche erstellen falls da noch nichts ist (müsste dann da aber stehen und direkt ein button o.ä. sein). Dann definierst du dir da alle Settings die du laden/speichern willst, also Setting-name, den Datentyp, und die Dropdown liste auf "User" stehen lassen, stellt man da auf "Application" kann man die Einstellung im Programm nicht mehr ändern. Das letzte Feld ist der default-wert. Am besten stellst du als Datentyp "string" ein, Jetzt kannst du sogar komfortabel im Form Designer die Textbox anklicken, Eigenschaften drauf, und in den properties dann hast du ganz oben "(Application Settings)". Da auf das kleine +, dann sollte da ein unterpunkt "Text" sein, und da wählste einfach deine vorher definiertes Setting aus. Jetzt wird der Text in der Textbox automatisch gespeichert und geladen ;) Das ganze nochma ausführlicher hier auf englisch: http://www.devx.com/vb/Article/34742 Björn
So nun klapts aber ;) Herzlichen Dank für die schnelle Hilfe!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.