一種の通貨テキストボックスであるTextBox
呼び出されたものから新しいコントロールを作成しようとしました。RialiTextBox
問題は、プロパティをオーバーライドしてText
からコントロールをビルドすると、新しく作成された TextBox をフォームにドラッグすると、Visual Studio がクラッシュすることです。
キーワードを試してみましたnew
が、やはり「スタック オーバーフロー エラー」が発生しました。私は何を間違っていますか?
これが私が話しているコードのスニペットです:
public override string Text
{
get
{
if (this.Text.Contains(" ريال")) {
return this.Text.Replace(" ريال", "");
}
return base.Text;
}
set
{
base.Text = value;
}
}
アップデート:
私は提案された解決策に従い、すべてthis.Text
をに変更してもらいましたbase.Text
。これを行うと、Visual Studio のクラッシュと「スタック オーバー フロー エラー メッセージ」が解決されましたが、オーバーライドされた onEnter イベントも機能しなくなったことに気付きました。
新しいコントロールのオーバーライドされた Text プロパティを完全にコメントアウトすると、イベントが再び機能するようになりました! これは何が原因ですか?
protected override void OnEnter(EventArgs e)
{
if (Mode == Modes.ریالی)
{
if (this.Text.Contains(" ريال"))
{
this.Text = this.Text.Replace(" ريال", "");
}
}
base.OnEnter(e);
}