2009-09-09 13 views
1

私は、新しいGUIコンポーネントを構築するためのintresstを持つC#コーダーです。 現在の標準に属していないGUIコンポーネントの作成に関するいくつかの情報については、googleを参照してください。カスタムGUIコンポーネントを作成するには?

要するに、自分のコンポーネント/コントローラを構築してアプリケーションに使用したいと思っています。

私は、(親ではなく、子ベースの)右クリックマウスボタンメニューを作成/描画する別の方法を作成するために、別のアイデアを持っていました。これまでは、これを行う唯一の方法のような縫い目は、[DllImport( "user32.dll")]をフォームやコントローラの外に描画できるようにすることです。

私はここで、オルタネイトのマウスクリックメニューのようなオルタネートGUIコンポーネントをどのようにハンドリングし、このようなコンポーネントをコントロールフォームの外側に描くことができるのか聞いてみることにしました。

質問は、画面にdirectyを必要とされているものを描くために、たとえば[DLLIMPORT(「user32.dllのを」)] involingによってこれを行うための唯一の正しい方法は何ですか?

編集:
[OK]を、私はより正確にしようとします。
たとえば、WinFormsで使用するためのグラフィカルコンポーネントを作成したいと考えています。この場合、メニューシステムを構築する別の方法ではなく、Windows標準メニューとしての親子だけでなく、右クリックメニューが構築されます。
WinFormを例にとると、GUIプレゼンテーションではマウスメニューで何を変更しようとしますか? WinFormのように四角形ではなく円形のWinFormコンポーネントを作成します。

GUIコンポーネントを作成し、存在するものを使用しないでください。この場合、代替マウスメニューを構築する方法が使用されます。

+0

私は自分の答えを更新しました。 –

答えて

1

利用可能なWinFormsのチュートリアルやその他のリソースはありません。 Hereは、コンテキストメニュー(右クリックメニュー)の例を持つリンクです。

非常に具体的な理由がない限り、一般的にコードにuser32.dllを直接使用する必要はありません。

更新:あなたはリサイズやWPFなどの任意の特定の技術に拘束されたくない場合は、CまたはC++で直接でuser32.dllレベルで作業したい場合があります。ただし、C#でかなり柔軟なコントロールを作成することができます - 例についてはthis articlethis oneを参照してください。

+0

はい、あなたは絶対に正しいです。しかし、私はWinFormsに縛られたくありません。私は、WinFormsで使用されるグラフィカルなコンポーネントを作成できるようにしたいと考えています。この場合、親子だけでなく、メニューシステムを構築するための別の方法です。 WinFormを例にとると、マウスのメニューで変更しようとしているのは、主にGUIプレゼンテーションの場合です。 WinFormのように四角形ではなく円形のWinFormコンポーネントを作成します。 GUIコンポーネントを作成し、使用しないでください。 – user170644

関連する問題