- - PR -
カスタムコントロールの作成
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-01-05 08:23
「月刊dotNET」のP98からの記事を参考にC#でTextBoxを継承した
カスタムコントロールを作成しております。 記事はVB.NETでの記事となっておりますのでこれを自分なりにC#に書き換えております。 コンパイル、ツールボックスへの追加までは問題ないのですが、 Webフォームに貼り付けようとすると Just-In-Timeデバッグ と言うタイトルで 例外 System.StackOverflowExceptionがDefaultDomainで発生しました と言うエラーが表示されたウインドーが表示されます。 選択したデバッガでデバッグしますか。 に対して「はい」を答えると 今度は 'System.StackOverflowException' のハンドルされていない例外が mscorlib.dll で発生しました。 となりこの先どうしたらよいのかわかりません。 プログラムは下記の内容になっています。 using System; using System.Web.UI; using System.Web.UI.WebControls; using System.ComponentModel; namespace myWebControl { [DefaultProperty("Text"), ToolboxData("<{0}:AspFocusText runat=server></{0}:AspFocusText>")] public class AspFocusText: System.Web.UI.WebControls.TextBox { protected override void AddAttributesToRender (System.Web.UI.HtmlTextWriter writer) { writer.AddAttribute"onFocus", "this.style.backgroundColor= \"LightGreen\""); writer.AddAttribute("onBlur", "this.style.backgroundColor = \"white\""); this.AddAttributesToRender(writer); } } } 多分プログラムが間違っているのではないかと思い他の書籍を参考にいろいろやってみたのですが解決の見込みが有りません。 原因がお分かりでしたらご教示ください。 | ||||
|
投稿日時: 2003-01-05 09:54
ここで自分を再帰的に呼び出し続けています。tabouさんの意図はthis.ではなくbase.なのではないでしょうか? | ||||
|
投稿日時: 2003-01-05 11:42
NothingBut.NETFXさんコメント有難うございます。
動きました。
サンプルのvbでは MyBase. を使っておりましたのでC#ではthis. ではないかと 思いこんでおりました。 次のステップに進めます、有難うございました。 |
1