質問は簡単です:どのようにするのですか? 私はいくつかの間接的なユーザアクションによって満たされたMaskedTextboxをいくつか持っています(値を直接入力するのではありません)。テキストボックス内のテキストは、入力がマスクによって拒否されたときに赤色に着色されます。これまでのところ良い。MaskedTextboxのバックスペースを隠して削除する
しかし、私はエンドユーザーがボックスを直接編集できるようにしたくありません。だから、私は次のコードを追加:
private void HandleMaskedTextBoxKeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
private void HandleMaskedTextBoxKeyDown(object sender, KeyEventArgs e)
{
e.Handled = true;
e.SuppressKeyPress = true;
}
そして、ほとんどの文字が処理されている間、バックスペースを、削除キーはありません。これらのキーを押したときにテキストが消えます。それらのキーはどのように扱うことができますか?
(別のオプションは、true
に箱のreadonly
プロパティを設定することですが、入力が拒否されたときに、テキストはもう赤く色付けされません。私はMaskInputRejected
イベントに赤い色を強制しようとしましたが、この)
ただし、興味深い解決策は、maskedTextBox1_TypeValidationCompletedはmaskedTextBox1.ValidateText()の後に起動されないため、色はまだ赤色になりません。 – dbaw
実際には、(反射板を使って見ましたが)BackColorをColor.Whiteに設定しましたか?あなたがそれをしなければうまくいかないのは事実だから...なぜ、私は分かりません! –
テキストボックスにValidatingTypeプロパティを設定する必要がありました。それは今働きます!ありがとう。 – dbaw