1

Windowsフォームアプリケーションでは、フォームにMaskedTextBoxを追加します。 Maskプロパティの省略記号をクリックすると、入力マスクダイアログが開きます。その中で、マスクを短い日付に設定し、Use ValidatingTypeチェックボックスをオンにしたままにしました。WindowsフォームデザイナーでMaskedTextBoxのValidatingTypeをリセットします。

この結果、次の2行がデザイナで生成されます。私はこの変更を戻すしたいとき

this.maskedTextBox1.Mask = "00/00/0000"; 
this.maskedTextBox1.ValidatingType = typeof(System.DateTime); 

今、私は、コントロールのMaskプロパティで右クリックし、Resetを選択できるように期待したいです。これを行うと、Maskプロパティ自体はリセットされますが、ValidatingTypeプロパティは変更されません。 ValidatingTypeプロパティ自体はデザイナでは表示されないため、Designerを使用してこのプロパティをリセットする方法はないようです。

また、[入力マスク]ダイアログボックスに戻り、有効なタイプを持たない<Custom>にマスクを設定しましたが、デザイナで生成されたコードに既存のValidatingTypeが残ります。


したがって、Designerを使用してValidatingTypeプロパティをリセットする方法はありますか?あるいは、デザイナーがコードを生成して自分自身で変更する必要がありますか?ハンス回答に基づいて


更新

、私は別の方法を見つけました。 Maskプロパティを右クリックしてResetを選択した後、のみMaskプロパティ自体がクリアされます。省略記号をクリックした後に表示される入力マスクダイアログは、マスクとValidatingTypeの両方のプロパティを設定します。

です...リセットを使用すると、十分ではありません。リセットを使用した後、再び[入力マスク]ダイアログに移動し、[OK]をクリックする必要があります。

ResetがValidatingTypeをリセットしないのに対して、同じプロパティの省略記号で開いたダイアログはそれを設定していますが、まだ少しバグがあると感じます。

答えて

0

タスクダイアログの[Use ValidatingType]チェックボックスをオフにするだけです。

+0

まず、マスクを短い日付に設定しますが、「検証タイプを使用」チェックボックスは表示されません。次に、マスク自体を消去します。それはうまくいく。 – comecme

0

デザイナーが私に見つけた唯一の方法は、<Custom>以外のPhoneのような "none"タイプの選択肢の1つを選択することです。これを行うと、デザイナーが生成したコードからValidatingTypeへの呼び出しを取り除きます。

そこから手動で別のマスクを入力することができます。その動作は間違いなく奇抜です。

関連する問題