tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: コントロールの名前が分かりません
投稿日: 2007/08/22(Wed) 11:50
投稿者よねKEN
> この組み合わせでカスタムコントロールを作成するしかないのならば
> そのように対応しますが、わざわざ個人でそれぞれ製造しないと
> いけないような物なのでしょうか。
> 用意してあっても良いと思うのですが。。

#あくまで私見です

そういうときは、汎用的な部品を提供する側の気持ちになって考えてみると
よいと思います。"テキストボックス + ボタン"というコントロールが提供される
として、はむさんは、どういう機能を期待されますか?

"テキストボックス + ボタン"という構成からたぶん明らかなのは、
ここでのボタンはテキストボックスに対する入力補助を行うためのもので、
ボタンをクリックすると何かが起きて、その結果がテキストボックスに反映される、
という仕様くらいでしょう。

このテキストボックスがフォントを指定するためのものなら、
ボタンをクリックするとフォントのダイアログが表示されることが
期待されるでしょう。同様にこのテキストボックスが色を指定するためのものなら、
色指定用のダイアログが表示されることが期待されるでしょう。
URLを指定するためのものだったら?郵便番号を指定するためのものだったら?

こうやって考えていくとボタンのクリックに対する処理は、汎用部品が決めることは
できず、ユーザ側で自由に処理できるようにする必要があると思います。
ボタン表面のテキストもクリック時の処理も汎用部品内では実装できないので、
個別に開発者が作りこむ必要があり、あまり共通化されているとは言えません。

今度はテキストボックスとボタンの配置について考えて見ましょう。
よくある一般的なものとしては、テキストボックスのすぐ右横にボタンを配置する
というレイアウトでしょう。しかし、開発する内容によっては左横がよかったり、
下側(この場合はさらにテキスボックスとの位置関係で下側の中で左よりか右よりか
真ん中かといったことも選択肢として考えられます)、上側(下側と同様の考慮が必要)
がよかったりと様々です。汎用部品であれば、こういったレイアウトに対しても
汎用性が求められます。これについては仕様を決定するのも、実装するのもテスト
をするものかなりの工数がかかることが予想されます。

さらに、前提として"テキストボックス + ボタン"という構成で考えていますが、
ある開発者の期待する機能としては、テキストボックスの代わりにコンボボックス
がよいとしたらどうでしょうか?その開発者にとっては"テキストボックス + ボタン"
というコントロールでは要件を満たせません。"テキストボックス + ボタン"を
もし作るなら、ここのテキストボックスの代わりに、テキスト編集できる
コンボボックスを代わりに使うことができるようになっていた方がよいでしょう。
または、"コンボボックス + ボタン"のコントロール化も検討の余地がでてきます。

汎用部品を作る上で検討しないといけないことはたくさんありますが、
開発者が同様の機能(テキストボックスとボタンを使った機能)をベタに
作りこむためにかかる工数は、それほどのものではないでしょう。
レイアウトもその開発案件に見合ったレイアウトをデザイナで好きに
配置すればよいだけです。

このようにごく一部分についてだけでも汎用部品の仕様を考えた場合、開発にかかる
工数等に対して、その汎用部品により受けられる恩恵が割に合いません。
そういう意味で汎用部品としては用意されていないのだと思います。

汎用部品については上記の通りですが、ある開発案件の中で、
限定された仕様のもとに"テキスボックス+ボタン"なコントロールを作る
ということは検討の価値はあるかもしれません。
#ただし、下手なカスタムコントロールは仕様変更に対する柔軟性を失う
#危険性もあります。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。