2011-07-23 14 views
0

Windowsサービスプロジェクトを作成すると、デザイナウィンドウを持つ "Service1"クラスが作成されます。ツールボックスのコントロールの99%はWindowsサービスのコンテキストでは使用できませんが、デザイナーはGUIコントロールなどをデザイナーのサーフェスにドラッグアンドドロップすることを喜んで許可します。Visual Studio DesignerとToolbox Confusion

本当に?本当に??

これはVisual Studioの現実ですが、いくつかのバージョンに戻ってきましたが、私はMSがこの奇妙なことに無関心かどうかわかりません。

しかし、それは私に起こります。おそらくMSが意図的にこのようにしておく理由の根拠があります。私はボートを紛失しています。説明してください?あるいは、私は単に設定が間違っているVS IDEの開発環境を持っているだけで、他のマシンでも動作します。もしそうなら、私はそれをどのように修正するのですか?

確かにこれは私の仕事を妨げるものではありませんが、現在のデザイナーキャンバスに関連する「実際に使用可能な」コンポーネントをブラウズするのを妨げる可能性があります。

はい私は、ツールボックスのセクションを手動で折りたたむことができますが、その答えはそれを切断しないことを認識しています。 .netとVSのような強力なツールは、「どのツールが現在のデザインキャンバスに関係しているか」を判断できる必要があります。おそらく私のためにこの選択を行うプラグインがありますか?このすべて興味

...

答えて

2

は、私はこの問題は、サービスの設計キャンバスはコントロールのスーパークラスですコンポーネント、FOドロップを可能にするということだと思います。したがって、任意のコントロールはコンポーネントであるため、任意のコントロールをそのコンポーネントにドロップできます。

確かに、IDEはコントロールインターフェイスもサポートしているかどうかをテストできますが、GUIがサポートされているかどうかを検出してそのような状況でコントロールとして機能するようにコントロールが書き込まれる可能性があります。したがって、IDEがコントロールが自動検出できるものを知る方法はありません。

この作業を行う唯一の方法は、コンポーネントがサポートする任意のインターフェイスを強制することであり、それは愚かなようです。

+0

私はこの回答が残っていると思います。インタフェースではなく、サービスに関連するコンポーネントに特別な属性が必要な場合があります。しかしどちらの方法でも、今実装すれば、古いコンポーネントはすべて消滅しますが、これは明らかに容認できません。 –

関連する問題