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

わんくま同盟

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

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


(過去ログ 54 を表示中)
■30532 / )  Re[3]: ユーザーコントロールにオブジェクトを追加する方法
□投稿者/ たくボン (125回)-(2008/12/25(Thu) 20:39:26)
No30520 (たま さん) に返信
> ■No30517 (たくボン さん) に返信
> ただ、Columnsの(コレクション)をクリックすると、列の編集や列の追加が画面から出来ます。

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


>>そもそも汎用性を持たせるためのUserControlに、コントロールを追加するメリットは?
>
> 今回のユーザーコントロールは、他のプログラム(アプリケーション)からでも共通で使用できるということを前提に作ろうと考えています。
> ユーザーコントロール内にはテキストボックスとDataGridViewがあって、テキストボックスの値をGridに追加したり、Gridの値を選択することでテキストボックスに反映させたりする仕様になっています。

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

このやり方は、俺がもう13年前くらい前から使ってる手法だけど、今でも有効な手法だと思ってます:-)
返信 編集キー/


管理者用

- Child Tree -