C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: WebカスタムでControl型のプロパティの作成する


(過去ログ 12 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■3228 / inTopicNo.1)  WebカスタムでControl型のプロパティの作成する
  
□投稿者/ わたし素人A (1回)-(2007/04/26(Thu) 14:32:52)

分類:[C# (ASP.NET)] 

度々この掲示板を使用させて頂いております。
Webフォーム上でEnterキー押下でコントロールのフォーカスを移動させる目的で、scriptを書くのが面倒なのでWebカスタムコントロールを作成してみようと考えました。

例えばTextBoxを継承したWebTextクラスを作成しました。
//プロパティ
private Control _next;
public Control Next
{
get { return next;}
set { _next = value; }
}
//オーバーライド(func_EnterはWebフォーム上のscriptで使用)
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
writer.AddAttribute("onKeyDown", "func_Enter('" + _next.CientID + "')");
base.AddAttributesToRender(writer);
}
これをコンパイルして新たなWebフォームにWebText1とWebText2を貼り付けます。
プロジェクトウィンドウにNextプロパティが表示されて、フォーム上にあるWebText1・WebText2が選択できるようになっているので成功したと思ったのですが、実際にWebText2を選択すると描写エラーとなって
「'Next' プロパティの文字列形式 'WebText2' から型 'System.Web.UI.Control' のオブジェクトを作成できません。」が表示されます。
どうやらsetの時にエラーしているようなのですが、どのように解決してよいのか分かりません。

Nextプロパティをstring型にすればうまく行くのですが、それだとプロパティウィンドウでいちいち他のコントロールのIDを記述しなければならないので出来ればsetする時はControlの選択できるで楽をしたいですが…

文章が下手なので分かりにくいと思いますが、分かる方がいらっしゃるならば解決策を教えていただけないでしょうか。

引用返信 編集キー/
■3229 / inTopicNo.2)  Re[1]: WebカスタムでControl型のプロパティの作成する
□投稿者/ わたし素人A (2回)-(2007/04/26(Thu) 14:44:33)
すみません。
説明がなんのこっちゃになっております。

string型のフィールドで使用するのですが、プロパティでsetするときだけControl型でやりたいのです。

これで伝わるでしょうか?
お願い致します。

引用返信 編集キー/
■3231 / inTopicNo.3)  Re[2]: WebカスタムでControl型のプロパティの作成する
□投稿者/ taka (11回)-(2007/04/26(Thu) 16:12:32)
No3229 (わたし素人A さん) に返信
> すみません。
> 説明がなんのこっちゃになっております。
>
> string型のフィールドで使用するのですが、プロパティでsetするときだけControl型でやりたいのです。
>
> これで伝わるでしょうか?
> お願い致します。
>

こんにちは。

プロパティのsetとgetで型は変えることはできないと記憶しています。
#アクセスレベルを変えることはVS2005からできるようになりましたが。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -