2016-04-16 6 views
0

私はこのテキストボックスにKeyPressEventArgsを持っています。値は入力されていますが、textbox.Textは空白なのはなぜですか?

ダイアログボックスでは、textboxに入力した値をkeycharで表示できますが、textbox.Textメンバーでは表示できません。 2番目の文字が入力されると、textbox.Textメンバーには1つの文字、最初の文字などが表示されます。したがって、基本的に最後の文字は表示されません。

private void textBoxDegrees_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     if (e.KeyChar >= '0' && e.KeyChar <= '9' || e.KeyChar == (char)Keys.Back) //The character represents a backspace 
     { 

      e.Handled = false; //Do not reject the input 
     } 
     else 
     { 
      e.Handled = true; //Reject the input 
      return; 
     } 
     MessageBox.Show(e.KeyChar.ToString()); 
     MessageBox.Show(textBoxDegrees.Text); 
    } 

何が起こっているすべてのアイデア:ここ

は、コードのですか? Textプロパティが変更される前に、あなたはそれをフィルタリングすることができるように

よろしく Crouzは

答えて

3

KeyPressは、発生します。おそらく、Changedイベントが必要です。

+0

またはKeyUpイベント。 –

0
MessageBox.Show(textBoxDegrees.Text); 

新しい値を入力する前に、入力にテキストが表示されます。 1234が含まれていて、5を押すと、1234と表示されます。

TextChangedイベントハンドラを使用できます。入力をダブルクリックすると自動生成されます。

関連する問題