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

わんくま同盟

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

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


(過去ログ 54 を表示中)
■30569 / )  Re[4]: ユーザーコントロールにオブジェクトを追加する方法
□投稿者/ たま (10回)-(2008/12/26(Fri) 16:44:22)
No30532 (たくボン さん) に返信

たくボンさん、通りすがりさん、ご回答ありがとうございます。

> うん。それは、列っていう概念的な物だからコントロールとは別物だと思うな。
> 一度、自分でGridみたいなコントロールを自作してみればわかると思うけど、Columnはコントロールではありません。(厳密に言えばCellも違うけど)
>

Columnはコントロールではないんですね…


> 共通化という手法は、カスタムコントロールだけではないと思います:-)
> 今回のように、特定のGridと複数のテキストボックスを連携させる場合は、各コントロールを制御するクラスを用意するのがいいかもしれませんね。
> 制御クラスのコンストラクタに、Grid、TextBox(ジェネリックコレクションに追加するといいかも)のインスタンスを渡して、イベント等を動的に生成。
> これならテキストボックスの数が増えても柔軟に操作できるし、Gridの仕様が変更になっても少ない修正で対応できると思います。
>
> このやり方は、俺がもう13年前くらい前から使ってる手法だけど、今でも有効な手法だと思ってます:-)

たくボンさんのご指摘どおり、コントロールを制御するクラスを用意して、コンストラクタにTextBoxのインスタンスを投げたら、ユーザーコントロール内にTextBoxが追加されました。

追加したTextBoxとGridの連携についてはどうやったらいいのか思考中です。

ただ、コードに書かずしてTextBoxの追加ってやはり難しいのでしょうか?
[デザイン画面]からだけでTextBoxを追加したり、追加したTextBoxとGridのとある列(Cell)を連携させることは難しいのでしょうか?
返信 編集キー/


管理者用

- Child Tree -