- PR -

ツリービューのようなドロップダウンリストの作り方を教えてください

投稿者投稿内容
あぶぽん
大ベテラン
会議室デビュー日: 2005/10/20
投稿数: 205
投稿日時: 2007-05-21 11:39
お世話になります。
あぶぽんです。

言葉でいうと伝わり難いのですが、
「中にツリービューが入ったドロップダウンリスト」
を作りたいのです。

こんな感じです。

これは標準のコントロールで実現可能でしょうか?

環境は、

OS: Windows2000
IDE: Visual Studio 2005
言語: Visual Basic 2005

です。

よろしくお願いいたします。

MSDNフォーラムにもポストしましたので、重なる方は済みません。
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2007-05-21 11:47
ドロップダウンリストをトリガーにして
ツリービューを表示したり非表示したりすればいいと思うのですよ。

私ならそう考えます

もっと簡単な方法があったらごめんなさい
あぶぽん
大ベテラン
会議室デビュー日: 2005/10/20
投稿数: 205
投稿日時: 2007-05-21 12:10
あすかさん、さっそくのお返事ありがとうございます。

コード:
Private Sub TreeView1_AfterSelect(...) ...
    TreeView1.Visible = False
End Sub

Private Sub ComboBox1_MouseClick(...) ...
    TreeView1.Visible = True
End Sub



ということですね?

しかし、ComboBox1をクリックしたときに出てくる、
標準の四角はどうしたら消せるのでしょうか?

また、ツリービューをこんな感じに、
フォルダのようにするにはどうすれば良いでしょうか?

よろしくお願いします。
sou
ベテラン
会議室デビュー日: 2002/09/25
投稿数: 56
投稿日時: 2007-05-22 00:47
コンボボックスコントロールを独自に描画して、
マウスやキーボートイベントを拾ってツリービューの
表示・非表示を切り替えれば可能かと思います。
コントロールの描画はControlPaintクラスや
.NET2.0ならばRenderer系のクラスで出来ると思います。
以下のサイトがコントロールの描画の参考になるかと思います。

http://dobon.net/vb/dotnet/graphics/drawcontrols.html
http://dobon.net/vb/dotnet/graphics/drawvisualcontrol.html

しかし、標準のコンボボックスみたいに画面の表示位置にあわせて
ドロップダウンリストを下に表示したり、上に表示したりする工夫や
フォーム外にリストを表示したりするための工夫が必要になるかと思います。
そっちの方がなんか面倒くさそう・・。
秀人
会議室デビュー日: 2003/05/17
投稿数: 4
投稿日時: 2007-05-22 00:49
ちょっと確認なのですが、
コンボボックスにはキーワードを入力して、▼を押すと下にびろっとツリービューがでるようにしたいんでしょうか?
それならユーザーコントロールにして、コンボボックスとツリービューを連結したコントロールを作ればいいような気がするのですが。
あぶぽん
大ベテラン
会議室デビュー日: 2005/10/20
投稿数: 205
投稿日時: 2007-05-22 16:33
souさん、

参考になりました。ありがとうございます。
確かに考慮事項が多そうですね。

今は、画面設計をしているだけなので、
とりあえず絵は作れそうですが、実装は考慮しなければなりませんね。

秀人さん、

ご確認のとおりです。びろっとでるようにしたいです。

コンボボックスとツリービューを連結したコントロールを作るには、
どのような技術知識が必要でしょうか?
簡単に作れるものなのでしょうか?

MSの技術に詳しくないので分からないのですが、
「ユーザーコントロールにして、コンボボックスとツリービューを連結したコントロール」
と言えば、VBプログラマになら、伝わるでしょうか?

とはいえ、自分でも動作確認はしてみたいと思います。

どのリソースを参照すれば良いかご教示お願いできますでしょうか。
VB、.NETに関してはまったく素人です。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2007-05-22 17:32
こんにちは。

引用:

あぶぽんさんの書き込み (2007-05-21 11:39) より:
「中にツリービューが入ったドロップダウンリスト」
を作りたいのです。



フリーソースを公開しているサイトがいくつかありますので、
使えそうなものがないかチェックしてみてはいかがですか?
#私もよく利用してます。

たとえば
THE CODE PROJECT (検索 ComboBox,Tree)
あぶぽん
大ベテラン
会議室デビュー日: 2005/10/20
投稿数: 205
投稿日時: 2007-05-22 18:27
Tdnr_Symさん、

さっそく、ありがとうございます。

これなら、僕でも作れそうです。

初歩的な質問ですが、C#で作ったコントロールを
VBで使うことはできますか? それは一般的なことですか?

スキルアップ/キャリアアップ(JOB@IT)