2016-05-12 143 views
2

请问我是C#的新手,我创建了一个文本框和一个标签。我期望的是,如果我在文本框中键入一个值,我希望它显示在标签上,如果我更改了值,它也应该立即在标签上更改。 它与下面的代码工作,我按回车键如何在文本框中输入时更改标签文本

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

但我想它没有按键盘上的Enter键/返回键。

感谢您的理解

+3

您创建了哪种类型的项目? Winforms,WPF,Web等?答案取决于你有什么类型的项目。 – NineBerry

+0

添加您的代码,查看您尝试过的以及您遇到的问题。 – Gusman

+0

project on WindowsFormsApplication – owebindex

回答

0

textbox KeyDown/Up/Press events may help。 例如

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

尝试从“textBox1”中删除文本。会发生什么? –

+0

我知道会发生什么。这只是一个简单的例子,而不是工作版本。 – Eins

+0

错误的示例。你最好引用正确的一个。 –

4

这适用于VisualStudio的

选择在设计你的TextBox,转到它的属性,然后单击事件(与闪电TEH图标)。然后双击名为TextChanged的事件。

enter image description here

这将创建一个新的功能,这将永远被调用时,你TextBox变化的文字。在功能中插入以下代码:

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

就是这样。

+0

谢谢....它的工作 – owebindex

+0

我尝试使用条件语句的代码..但不要更深入,帮助我。 'if(e.GetType == KeyPress。){TextBox tb = sender as TextBox; label1.Text = tb.Text; } else {label1.Text =“”; } – owebindex

+0

我不知道数据绑定发生了什么?可能没有任何东西! –

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

@AlexanderPetrow现货。较少的代码=>最大结果。这是我接受的答案。 –