2016-05-12 4 views
2

Bitte ich bin neu in C#, ich habe eine TextBox und ein Etikett erstellt. Was ich erwarte, ist, wenn ich einen Wert in die TextBox eintippe, möchte ich, dass es auf dem Etikett angezeigt wird und wenn ich den Wert ändere, sollte es sich auch sofort auf dem Etikett ändern. es unten mit dem Code arbeiten, und ich drückeSo ändern Sie Text von Label während der Eingabe in TextBox

private void textBox1_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Enter) 
     { 
      label1.Text = textBox1.Text; 
     } 
    } 

Schlüssel eingeben Aber ich will es ohne drücken Sie die Eingabetaste/Return-Taste auf der Tastatur.

Dank für das Verständnis

+3

Welche Art von Projekt haben Sie erstellt? Winforms, WPF, Web usw.? Die Antwort hängt davon ab, welche Art von Projekt Sie haben. – NineBerry

+0

Fügen Sie Ihren Code hinzu, um zu sehen, was Sie ausprobiert haben und welches Problem Sie haben. – Gusman

+0

Projekt auf WindowsFormsApplication – owebindex

Antwort

0

Textbox KeyDown/Up/Pressetermine helfen können. Zum Beispiel

private void textBox1_KeyDown(object sender, KeyEventArgs e) 
     { 
      label1.Text += e.KeyData.ToString(); 
     } 
+0

Versuchen Sie, den Text aus der 'textBox1' zu entfernen. Was wird passieren? –

+0

Ich weiß, was passieren wird. Es ist nur ein einfaches Beispiel, nicht funktionierende Version. – Eins

+0

Falsches Beispiel. Sie könnten besser dran sein, richtig zu zitieren. –

4

Dies funktioniert für Visual Studio

Ihre auswählen TextBox in Designer, die es den Eigenschaften gehen auf und klicken Sie auf die Ereignisse (teh Symbol mit dem Blitz). Dann machen Sie einen Doppelklick auf das Ereignis, das aufgerufen wird: TextChanged.

enter image description here

Dies schafft eine neue Funktion, die immer dann aufgerufen wird, wenn der Text Ihrer TextBox Änderungen. Fügen Sie folgenden Code in die Funktion:

private void textBox1_TextChanged(object sender, EventArgs e) 
{ 
    TextBox tb = sender as TextBox; 
    label1.Text = tb.Text; 
} 

Das ist es.

+0

Danke .... es funktioniert – owebindex

+0

Ich versuche bedingte Anweisung für den Code zu verwenden .. aber nicht weiter, helfe mir aus. 'if (e.GetType == KeyPress.) {TextBox tb = Absender als TextBox; label1.Text = tb.Text; } else {label1.Text = ""; } – owebindex

+0

Ich frage mich, was mit Datenbindungen passiert ist? Könnte für nichts da sein! –

3
label.DataBindings.Add("Text", textBox, "Text"); 
+0

@AlexanderPetrow Punkt auf Echo. Weniger Code => max Ergebnis. Dies ist die akzeptierte Antwort für mich. –

Verwandte Themen