web-dev-qa-db-ja.com

新しいユーザーコントロールをツールボックスまたは新しいWinformに追加するにはどうすればよいですか?

真のWindowsアプリケーションにWinformを提供する既存のライブラリ(Winformsアプリケーションではありません)があります。このライブラリ内で、いくつかのコントロールをグループ化するユーザーコントロールを作成したいと思います。これを実現するには、I右クリックして、[追加]、[ユーザーコントロール]を選択し、いくつかのコントロールを新しいユーザーコントロールにドラッグしました。

ここまでは順調ですね。ユーザーコントロールには、必要なユーザーコントロールアイコンもあります。しかし、新しいユーザーコントロールをソリューションエクスプローラーから新しい空のWinformにドラッグしても機能せず(線が引かれた円が表示されます)、ツールボックスにドラッグしても機能しません(+記号が表示されてもツールボックスの上にドラッグすると)。

この機能を実現するために、XMLマジックのようなものや、私が見逃しているものはありますか?


注:Visual Studio 2008で問題が発生したため、回避策 here を見つけることで修正できました。プロジェクトを再構築するだけで、既存のプロジェクトに追加したユーザーコントロールをツールボックスに取得できるようになりました。

64
Robert Harvey

私はあなたの意味を理解していると仮定します:

  1. UserControlがライブラリにある場合、これを使用してツールボックスに追加できます

    ツールボックス->右クリック->アイテムを選択-> Browse

    UserControlでアセンブリを選択します。

  2. UserControlがプロジェクトの一部である場合、ソリューション全体をビルドするだけです。その後、UserControlがツールボックスに表示されます。

一般に、ソリューションエクスプローラーからコントロールを追加することはできません。ツールボックスからのみ追加できます。

Enter image description here

89
dknaack

このエラーを取得する1つの方法は、プロジェクトがx64としてコンパイルするように設定されている間にフォームにユーザーコントロールを追加しようとすることです。 Visual Studioは、役に立たないものをスローします:「ツールボックス項目のロードに失敗しました。ツールボックスから削除されます。

回避策は、「任意のCPU」で設計し、必要に応じてx64にコンパイルすることです。

参照: https://support.Microsoft.com/en-us/kb/963017

6
GravityWell