C# brauche Hilfe um text zu übergeben, Wert an andere Formular-Textfeld
C# textbox senden von text-Wert. Situation, ich habe 2 Formen. Form1 und Form2. Form1 habe eine textbox und form2 habe eine textbox und ein button, ich will einen text-Wert auf form2 Textfeld und wenn ich auf die form2-Taste den Wert von form2 Textfeld angezeigt wird, wird gesendet, und ändern Sie die form1 ein textbox-Wert....Benötige Hilfe..
Dies ist, was ive getan..ich bin nur gonna es zusammenfassen
Form1 habe keine codes nur textbox1
Dies ist der code in form2 button
private void change_Click(object sender, EventArgs e)
{
form1 frm1 = new form();
string test = textbox2.text
frm1.textbox.text = test;
}
ive versuchen, einige poping message-box, um zu überprüfen, ob der Wert übergeben...und bisher war der Wert wirklich passieren aber es werden keine änderungen in der Benutzeroberfläche
Bitte säen Sie uns, was Sie tun, so weit.
ja. eine andere Frage ist, was ist der Unterschied von Show() und showDialog()? als ich versuchte, ändern Sie form1 Textfeld und schließen Sie form2 die einzige Sache, die übergeben wurde, die Werte aber ich kann nicht sehen, irgendwelche Veränderungen in form1 ein Textfeld (physischen).
ShowDialog öffnet das Formular in einer Anwendung Modalen Zustand, dh Sie können nicht alles tun, auf das übergeordnete Formular, bis das Kind fertig ist. Zeigen, öffnet sich ein weiteres Formular, und Sie sind in der Lage, die Arbeit mit den beiden.
Sie haben vielleicht bemerkt, dass alle Antworten vollständig sind Vermutungen. Dies ist, weil Sie nicht uns gezeigt, was Sie bis jetzt getan haben, so können wir nicht verstehen, den Kontext, in dem dein problem Auftritt. Wenn Sie die "Weitergabe der Wert richtig, aber die UI hat sich nicht geändert", die Chancen sind du bist das instanziieren einer neuen form statt eine vorhandene verwenden. In dem Fall, Sie sind nicht "übergeben Sie den Wert richtig".
InformationsquelleAutor user974015 | 2012-11-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Angenommen, Sie erstellen
Form2
als KindForm1
(innerhalbForm1
etwas wieForm2 from = new Form2();
haben, können Sie auf jeder public-Eigenschaft des untergeordneten Formulars innerhalb des übergeordneten Elements. Also, stellen Sie sicher, um die Zugänglichkeit derTextBox
zupublic
, und etwas wie das hier tun:InformationsquelleAutor Tieson T.
Können Sie erklären, die textbox in Form1 public zu werden, und Sie können es von form2 gehen
form1.textBoxName.propertyName
Es ist nicht eine sehr gute Idee, um die Kontrolle der öffentlichen...
Jungs..ich kann, übergeben Sie den Wert richtig... das ist einfach nur die UI nicht ändern...und es ist wirklich eine schlechte Idee, um die Steuerelemente der öffentlichkeit..
InformationsquelleAutor Felix Guo
Könnten Sie Ereignisse für diese:
Definieren Sie eine Schnittstelle:
Dann lassen Sie die form mit Knopf, implementieren diese Schnittstelle und das Ereignis ausgelöst auf den button klicken, übergibt den Wert aus der textbox als ersten parameter:
Übergeben Sie eine Instanz dieses Formular, um Ihre zweite Formular wie dieses:
Also, wenn Sie erstellen Sie Ihre Form2, die Sie brauchen, um passieren eine instanse von Form1:
Sobald Sie die Taste drücken, wird das Textfeld auf die zweite form wird automatisch der Wert.
P. S.: für mehr info, bitte sehen Ereignisse Tutorial
InformationsquelleAutor horgh
Könnten Sie verlassen sich auf das wissen von Form1 in Form2, indem Sie die TextBox öffentlichkeit. Aber meiner Meinung nach der richtige Weg, es zu tun wäre, um eine benutzerdefinierte Ereignis-handler, abonnieren, um es in Form2 und übergeben Sie den text als eventarg. Code angepasst von dieser MSDN-Artikel
Form1
Form2
dann brauchen Sie, um uns zu zeigen, Ihren code, den code, den ich gepostet funktioniert, wird es übertragen den text aus form2 und aktualisieren Sie form1 ein Textfeld. Wenn Sie nicht in der Lage, aktualisieren Sie Ihre Textfeld, dann müssen wir sehen, die Methode, die Sie verwenden, um Ihnen zu helfen.
kann u erklären, das in form2 ..die textbox1.text.. RaiseCustomEvent(neue CustomEventArgs(textBox1.Text));
Was ich getan habe ist, erstellen Sie eine Benutzerdefinierte Event-args und verknüpft es mit einem benutzerdefinierten Ereignis. Die Codezeile, die Sie Fragen, über die das Ereignis auslöst, und ordnet der Wert von der Textbox die Text-Eigenschaft des benutzerdefinierten eventarg dann da form1 abonniert hat, um das Ereignis, wenn es erstellt frm2 es wird dann das Ereignis behandeln, bekommen Sie Ihren Text aus der CustomEventArgs
InformationsquelleAutor Mark Hall
könnten Sie die .Tag-Eigenschaft (schauen Sie auf meine Frage hier
der einfache Weg, es zu tun ist wie folgt:
Sie sagte, dass die textBox.text in form2 ersetzen würden, die texBox.text in form1 Recht?
tun Sie dies in der form2
dann schreiben Sie diese beim laden der form1
InformationsquelleAutor Aurelius Anugrah Sugianto
Den Grund form1.textbox1 wurde nicht aktualisiert werden, da Sie initialisiert eine neue Instanz von form1
So aktualisieren Sie die form1 Sie haben auf dem Bildschirm zu erhalten, müssen Sie die Instanz injiziert in die form2. Zum Beispiel, wenn Sie anzeigen von form2, den Sie festlegen.
form2.Form1 = currentForm1Instance;
Hoffe, das hilft.
InformationsquelleAutor Toan Nguyen
Ich hatte auch die gleichen Zweifel, So suchte ich im internet und fand einen guten Weg, um pass variable Werte zwischen Formularen in C#, Es ist einfach, dass ich erwartet hatte. Es ist nichts, aber eine variable zuordnen in der ersten Form, und Sie können auf diese Variablen zugreifen aus jeder form. Ich habe ein video-tutorial über "Wie übergibt man Werte an eine form'
Gehen Sie auf den untenstehenden link um zu sehen das Video-Tutorial.
Weitergabe Textbox-Text in eine andere form in Visual C#
InformationsquelleAutor Salahu92