2016-05-12 12 views
2

私はC#を初めて使用しています。私はtextBoxとラベルを作成しました。私が期待しているのは、textBoxに値を入力すると、その値をラベルに表示したいのですが、値を変更するとラベル上ですぐに変更する必要があります。 は、それは以下のコードで動作し、私はTextBoxで入力中にラベルのテキストを変更する方法

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

WindowsFormsApplicationのプロジェクト – owebindex

答えて

0

テキストボックスKeyDown/Up/Pressイベントが役立ちます。例えば

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 = TextBoxとしての送信者。 label1.Text = tb.Text; } else {label1.Text = ""; } – owebindex

+0

データバインディングに何が起こったのだろうか?何のためにもそこにいるかもしれない! –

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

@AlexanderPetrow spot on。少ないコード=>最大の結果。これは私にとって受け入れられる答えです。 –

関連する問題