www.mikrocontroller.net

Forum: PC-Programmierung Vb2005 textbox lesen und schrieben


Autor: flame (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: flame (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Björn V.d.o. (froghut)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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
dim frm2 as form2
fmr2 = new frm2()
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 ;)

Autor: flame (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ;)

Autor: Björn V.d.o. (froghut)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: flame (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So nun klapts aber ;)
Herzlichen Dank für die schnelle Hilfe!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.