押された '小数点'キーを数字で置き換えて、いつでも '。'を返すことができます。地域の設定とは無関係です。私は、アプリケーション内のすべてではなく、1つの(特定の)TextBoxに対してのみ動作します。
独自のコントロールを作成せずにこれを行うことは可能ですか?TextBoxの押されたキーを別のCに置き換えます。
-4
A
答えて
2
これを行うには、KeyDown
イベントを処理し、有効化されたキーを押して数字の小数点以下の桁数にして、必要なだけ新しいキーを送信するだけです。
これは、以下のリンクはあなたに実際にいくつかのコードを書くのに十分なポインタ与える必要があり、非常に簡単です:「あなたいったん
を何かを書いて、あなたがすることができます遭遇する可能性のある具体的な問題について新しい質問をしてください。
1
thisをご覧ください。
イベント番号KeyDown
を処理することができます。その場合は、numpadキャンセルイベントで、 '。'で新しいものを送信できます。
1
.
文字をテンキーボックスに追加する可能性のある解決策(おそらく最も良い方法ではないが、うまくいくはずである)は、,
キーがまだ押されている場合は、テキストボックスに,
文字を追加します。
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Decimal)
{
e.SuppressKeyPress = true;
textBox1.Text += ".";
textBox1.SelectionStart = textBox1.Text.Length;
textBox1.SelectionLength = 0;
}
}
SuppressKeyPress
は、押されたキーがテキストボックスに送信されることを防ぐことができます。次に、テキストボックスに目的の文字を追加します。 SelectionStart
とSelectionLength
プロパティは、カーソルをテキストボックス内の文字列の最後に移動するように設定されています。
EDIT役に立てば幸い:として
をcdkMooseは、このアプローチに欠陥を指摘し、それが望まれる場合、.
文字は常に、文字列の末尾に追加されていることです
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Decimal)
{
e.SuppressKeyPress = true;
var caretPosition = textBox1.SelectionStart;
textBox1.Text.Insert(caretPosition , ".");
textBox1.SelectionStart = caretPosition + 1;
textBox1.SelectionLength = 0;
}
}
関連する問題
- 1. ネストされたオブジェクトを別のオブジェクトに置き換えます。
- 2. c#プレースホルダをtext.htmlに置き換えて置き換えます。
- 3. c - リンクされたリスト機能を置き換えます。
- 4. WPF:Enterキーが押されたときに発生するイベントを持つTextBox
- 5. 置き換え方法<br />TextBox
- 6. TextBoxで押されたENTERキーを取り込む方法は?
- 7. TextBoxでEnterキーが押されたことをどのように伝えますか?
- 8. 別のキーが押されたときにキーを押す方法をシミュレートするには?
- 9. ベクトルに格納された文字列を文字に置き換えて文字を置き換えるC++
- 10. printfアポストロフィーがCのÆに置き換えられました
- 11. TextBoxでReturnキーを押したときのbutton_click
- 12. displacement.mapによって置き換えられた修正されたメッシュをthree.jsで置き換えます
- 13. デリミタを別のものに置き換えるC#regex
- 14. C++ doubleをcharに置き換えてstd :: arrayに置き換えます。
- 15. Python Firebaseが自動生成されたキーを置き換えます
- 16. preg_replace - 置き換えられたものを変数に置き換えた
- 17. C#フォーカスがないときに押されたキーを認識
- 18. Cプリプロセッサマクロの置き換え
- 19. C++出力されたテキストを置き換える方法は?
- 20. TextBoxのCtrl + 1キーの押下方法
- 21. 押されたキーと保持されたキーを区別する
- 22. C#キーが押されたときの通知
- 23. Haskell:関連リストの指定されたキーで要素を置き換える
- 24. C#最後の文字を別の文字列に置き換えます。
- 25. ホットリンクされたイメージをhtmlコードに置き換えます
- 26. csvをハードコードされた値に置き換えます。
- 27. 生成されたDetailsビューをviewModelに置き換えます。
- 28. DropDownListの選択に基づいてTextBoxを置き換えます
- 29. 指定された位置の文字列をPowerShellに置き換えます。
- 30. Cで別の文字に置き換えるプログラム
は、あなたが何かを試してみました:どこでも、文字列内のコードは次のように使用することができ
.
文字を追加しますか?オプションは、 'textbox'に' KeyPressed'イベントを追加することです。ここでは、押されたKeyをチェックし、小数点の場合は、 '。'を追加するアクションを実行します。文字を '、'の代わりにテキストボックスに入力します。 –地域設定の意味は? –
@BojanB KeyDown、KeyUp、KeyPressedを試しました。 KeyDownの場合、KeyUpでは文字を変更できません。 KeyPressedでは、 '、'は数字のアルファベットの文字ではありません – siwydym67