0
私はNumberTextbox
を作成していますが、これはWinformsの標準Textboxクラスを拡張しています。クラスには、Textプロパティに次のオーバーライドが含まれます。Textプロパティのチェック付きのカスタムTextBoxでエラーが発生しました
[DefaultValue("")]
public override string Text
{
get
{
return base.Text;
}
set
{
if (!IsNumber(value))
throw new FormatException();
base.Text = value;
}
}
コンストラクタは、空の文字列をTextプロパティに明示的に挿入します。このテキストボックスをデザイナを使用してフォームに挿入しようとすると、FormatException
が表示されます。スローラインをreturn;
に置き換えると問題は解決しますが、それは間違っているようです。この問題の解決策はありますか? IsNumber
メソッドは、空の文字列に対してtrue
を返します。
質問に「IsNumber」の実装を追加してください – styx
この質問は[番号のみのテキストボックスの作成方法](https://stackoverflow.com/questions/463299/how-do-i-make-a)でご検討ください。 – lamandy
デザインモードであることをカバーするために、[ここ](https://stackoverflow.com/questions/1166226)の回答を確認したい場合があります(受け入れられた回答は、あなたのシナリオ、それに注意してください、他の答えは異なる文脈に解決策を提供します)。代わりに 'Text'プロパティの代わりに' base.Text'をコンストラクタに設定してください。 – rene