■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)を連携させることは難しいのでしょうか?
|
|