1

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

これにより、デザイナーが生成したコードの次の2行が生成されます。

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

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

また、[入力マスク]ダイアログボックスに戻り、マスクをに設定してみました<Custom>。これには検証タイプがありませんが、デザイナーが生成したコードに既存のValidatingTypeが保持されます。


では、Designerを使用してValidatingTypeプロパティをリセットする方法はありますか?それとも、実際にデザイナーが生成したコードにアクセスして、自分で変更を加える必要がありますか?


アップデート

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

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

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

4

2 に答える 2

0

デザイナーを通してそれを行うために私が見つけた唯一の方法は、電話のように、以外の「なし」タイプの選択肢の1つを選択することです<Custom>。これを行うと、デザイナーが生成したコードからValidatingTypeへの呼び出しがなくなります。

そこから、別のマスクを手動で入力できます。動作は間違いなく風変わりです。

于 2011-01-17T15:14:11.923 に答える
0

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

于 2011-01-17T19:26:59.070 に答える