チュートリアル: ツールボックスへのカスタム コンポーネントの自動設定
現在開いているソリューションのプロジェクトによってコンポーネントが定義されている場合、それらはツールボックスに自動的に表示されます。ユーザーによる操作は必要ありません。 [ツールボックス アイテムの選択] ダイアログ ボックス (Visual Studio) を使用して、カスタム コンポーネントをツールボックスに手動で設定することもできますが、ツールボックスでは、ソリューションのビルド出力に含まれる項目について、次のすべての特性が考慮されます。
IComponent を実装している。
ToolboxItemAttribute が
false
に設定されていない。DesignTimeVisibleAttribute が
false
に設定されていない。
注意
ツールボックスでは参照チェーンがフォローされないないので、ソリューション内のプロジェクトによってビルドされていない項目は表示されません。
このチュートリアルでは、コンポーネントがビルドされた後、ツールボックスにカスタム コンポーネントを自動的に表示する方法について説明します。 このチュートリアルでは、以下のタスクを行います。
Windows フォーム プロジェクトの作成。
カスタム コンポーネントの作成。
カスタム コンポーネントのインスタンスの作成。
カスタム コンポーネントのアンロードと再読み込み。
手順を完了すると、作成したコンポーネントがツールボックス内に設定されます。
プロジェクトの作成
Visual Studio で、
ToolboxExample
という名前の Windows ベース アプリケーション プロジェクトを作成します ( [ファイル]>[新規]>[プロジェクト]>[Visual C#] または [Visual Basic]>[クラシック デスクトップ]>[Windows フォーム アプリケーション] )。新しいコンポーネントをプロジェクトに追加します。 このプロジェクトに
DemoComponent
という名前を付けます。詳しくは、「方法: 新しいプロジェクト項目を追加する」をご覧ください。
プロジェクトをビルドします。
[ツール] メニューの [オプション] をクリックします。 Windows フォーム デザイナーの [全般] をクリックし、 [AutoToolboxPopulate] オプションが True に設定されていることを確認します。
カスタム コンポーネントのインスタンスを作成する
次の手順は、フォーム上にカスタム コンポーネントのインスタンスを作成することです。 ツールボックスで新しいコンポーネントが自動的に考慮されるので、この作業は他のコンポーネントやコントロールを作成するのと同様に簡単です。
フォーム デザイナーでプロジェクトのフォームを開きます。
ツールボックスで、 [ToolboxExample コンポーネント] という名前の新しいタブをクリックします。
このタブをクリックすると、DemoComponent が表示されます。
注意
パフォーマンス上の理由から、ツールボックスの自動設定された領域のコンポーネントには、カスタム ビットマップが表示されません。また、ToolboxBitmapAttribute はサポートされていません。 ツールボックスにカスタム コンポーネントのアイコンを表示するには、 [ツールボックス アイテムの選択] ダイアログ ボックスを使用してコンポーネントを読み込みます。
コンポーネントをフォームにドラッグします。
コンポーネントのインスタンスが作成され、コンポーネント トレイに追加されます。
カスタム コンポーネントをアンロードして再読み込みする
ツールボックスでは、読み込まれた各プロジェクトのコンポーネントが考慮され、プロジェクトがアンロードされるときには、プロジェクトのコンポーネントへの参照が削除されます。
プロジェクトをソリューションからアンロードします。
プロジェクトのアンロードについて詳しくは、「方法: プロジェクトをアンロードして再読み込みする」をご覧ください。 保存するかどうかを確認するメッセージが表示されたら、 [はい] を選択します。
新しい Windows アプリケーション プロジェクトをソリューションに追加します。 デザイナーでフォームを開きます。
前のプロジェクトの [ToolboxExample コンポーネント] タブが表示されなくなっています。
ToolboxExample
プロジェクトを再読み込みします。[ToolboxExample コンポーネント] タブが再び表示されます。
次のステップ
このチュートリアルでは、ツールボックスでプロジェクトのコンポーネントが考慮されることを示しましたが、ツールボックスではコントロールも考慮されます。 ご自分のカスタム コントロールで、ソリューションにコントロール プロジェクトを追加したり削除したりする操作を試してみてください。