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をリセットしないのに対して、同じプロパティの省略記号で開いたダイアログはそれを設定していますが、まだ少しバグがあると感じます。
まず、マスクを短い日付に設定しますが、「検証タイプを使用」チェックボックスは表示されません。次に、マスク自体を消去します。それはうまくいく。 – comecme