2012-02-25 8 views
0

,の代わりに.を入力したいテキストボックスがあります。タイプ。インスタント、

しかし、正しく動作しません。私はここで重要な追加がSuppressKeyPressだと思う

private void tbPrecio_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.KeyCode == Keys.Oemcomma) 
    { 
     tbPrecio.AppendText("."); 
     e.SuppressKeyPress = true; 
    } 
} 

答えて

3

単純にあなたのハンドラメソッドを変更します。

+0

最適だが、それは文句を言わない置き換える、とのようジェイソンのロジック@使用しています。私はそれが追加されると思います。 –

+0

ああ、既存の*カンマをピリオドで置き換えることはありません。 – Jason

+1

YEEEEEEEEEEEEEEY !!!あなたは!!!その出来事は分かっていませんでした! :) – dbncourt

1

マスクされた入力を代わりに使用できるのは、この状況ですか?自動的に文字を置き換える

http://digitalbush.com/projects/masked-input-plugin/

何人かの人々をフリークアウト。

+0

文字を置き換えることはおそらく悪い考えであり、あなたとあなたの訪問者の間の信頼関係を損なうことに同意します。文字の入力を防止することは理解できますが、まだイライラしていません。ブラウザの機能を操作しているため、文字を置き換えるだけでは訪問者を怒らせることになります。一貫性には神聖さがあり、入力と期待される成果を乱し、最も基本的な方法でユーザーから離れてしまい、再びサイトにアクセスしないという理由しか与えません。 – Hawken

0

は、このコード

private void tbPrecio_KeyUp(object sender, KeyEventArgs e) 
{ 
if (e.KeyCode == Keys.Oemcomma) 
      tbPrecio.Text = tbPrecio.Text.Replace(',','.'); 
     tbPrecio.Select(tbPrecio.Text.Length, 0); 
} 

を試してみてくださいしかし、それは

関連する問題