DOBON.NET DOBON.NETプログラミング掲示板過去ログ

自作のコントロールを別のプロジェクトで使用するには?

環境/言語:[WinXPSP1、VB.NET ver2002 Standard、Framework1.1]
分類:[.NET]

環境はVB.NET ver2002 Standardなのですが、

まず新しいプロジェクトを作成し、「ユーザーコントロールの追加」を行い、
組み込みコントロール(TreeView)を継承してコントロールを作りました。
コンパイルすればツールボックスに表示されるので、
そのプロジェクトでなら、使用することができるのですが、
他のプロジェクトで使用するにはどうしたらよいのでしょうか。

以前VB5.0を使用していた頃は、ocxを作成して配布できるような状態にすれば
コンポーネントの追加で使用できたのですが、
VB.NET2002で同様のことをするにはどうしたらよいのでしょうか。

「ツールボックスのカスタマイズ」で参照をすればできそうなのですが、
形式がdllとexeになっているで、dllにできるのではと思うのですが、
dllにするにはどうしたらよいのでしょうか。

.netはじめたてで用語とかも訳が分からない状態で、
この質問を読んでくださる側も理解が難しいかもしれませんが、
どうぞよろしくお願いします。
プロジェクトのプロパティページで
出力の種類をクラスライブラリにする。
返信ありがとうございます。

プロジェクトのプロパティページの[出力の種類]に、
「Windowsアプリケーション」と「コンソールアプリケーション」しかないのですが、
最初からなにか根本的に間違っているのでしょうか。
それとも、Standardではできないとかなのでしょうか。
> プロジェクトのプロパティページの[出力の種類]に、
> 「Windowsアプリケーション」と「コンソールアプリケーション」しかないのですが、
> 最初からなにか根本的に間違っているのでしょうか。
> それとも、Standardではできないとかなのでしょうか。

はい、Standardでは制限によりクラスライブラリの作成はできません。
ただし、プロジェクトファイル(vbprojファイル)を
テキストエディタで直接編集する裏技を使えば、DLLをコンパイルすることはできますけどね。

OutputType = "WinExe"の箇所(Windowsアプリの場合)を
OutputType = "Library"と書き換えればOKです。

ただし、正規の方法ではないので、ライセンス的に問題ないかは不明です。
(EULAとかを読む限りでは特にソースコードとその関連ファイルの修正での制限はないと
思いますので、ライセンス違反にはならないと思ってますが・・・)

この方法以外なら、VB.netの開発環境からコンパイルするのではなく、
VBのコンパイラ(vbc.exe)で手動でコンパイルする方法もあります。
返信ありがとうございます。
教えていただいた方法でなんとか思っていたとおりのことができました。

したいことができて新たに気になることが出てきたのですが、
前述の方法で作成したコントロールを追加した時、
ツールボックスに表示されるアイコンは変えることができないのでしょうか。
(多分デフォルトなんだろうと思うのですが、歯車のアイコンになります。)

もしご存じでしたらご教授お願いします。
> 前述の方法で作成したコントロールを追加した時、
> ツールボックスに表示されるアイコンは変えることができないのでしょうか。
> (多分デフォルトなんだろうと思うのですが、歯車のアイコンになります。)

ToolBoxBitmap属性です。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbtskprovidingtoolboxbitmapforyourcontrol.asp

DOBON.NET | プログラミング道 | プログラミング掲示板