2012-02-22 3 views
0

私はこのメソッドを呼び出す必要がありますが、どの名前空間でも見つかりません。見た目の簡単な.NETのインポート

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.creategraphics.aspx

それはのSystem.Windows.Forms名前空間にとのSystem.Windows.Forms.dllであると言います。

私はVisual Studio 2010を使用していて、System.Windows.Forms参照をプロジェクトにインポートしました。私はインポート(SRY、私のJavaスラング)製の上部で

using FORMS = System.Windows.Forms;

Graphics g = FORMS.CreateGraphics(); // error 

エラーは次のとおりです。「型または名前空間名 『createGraphicsのは、』名前空間「のSystem.Windows.Formsには存在しません。 (アセンブリ参照がありませんか?) "

ありがとうございました。

--- EDIT ---私はこの記事からトップの答えからコードを実行しようとしています

GDI+/C#: How to save an image as EMF?

--- EDITを---

ユーザーのご提案により、私は試しています:

Graphics g = new Graphics(); 
FORMS.Control a = new FORMS.Control(); 
g = a.CreateGraphics(); 

--- EDIT ---

気にしない、申し訳ありませんが、私はばかです。秒で受け入れます。

+0

SOリンクゲームは、あなたのコードをフォームに置いていることを前提としています。 –

+0

@Boo、ああ、それを完全に読まないように私に任せてください。 – jn1kk

答えて

4

この:

using FORMS = System.Windows.Forms; 

名前空間のエイリアス、ないタイプの別名です。

名前空間にはメソッドが定義されていません。

さらに、CreateGraphicsではなく、であるため、インスタンス上でのみタイプに直接呼び出すことはできません。

myFormFormのインスタンスであると仮定すると:あなたのリンクの例では

Graphics g = myForm.CreateGraphics(); 

CreateGraphics()は、暗黙のうちにthisインスタンスで呼び出され、コールがFormまたはControlタイプ内であることを前提としています。あなたがコントロール/フォーム内でそれを呼び出すのであれば、それはうまくいくでしょう。

//コントロールを作成します:

0

ControlクラスにはCreateGraphicsメソッドがあります。したがって、すべてのコントロールにはそのメソッドがあり、これを使用して描画するグラフィックスコンテキストを作成できます。

Form frm = new Form(); 
Graphics g = frm.CreateGraphics(); 
//you use g to draw on your form frm 

これはポストあなたがにリンクするものでもあり言います。コメントを参照してください:

var g = CreateGraphics(); // get a graphics object from your form, or wherever 

Graphicsは、画像にペイントするGraphicsオブジェクトを返すFromImage方法があります。

0

createGraphicsのは、あなたは以下のようなものを、それを使用することになりSystem.Windows.Forms.Control

上の方法である パネルパネルは=新しいパネル();

//グラフィックスオブジェクトをコントロールから取得: Graphics graphics = panel.CreateGraphics();

//新しく作成したGraphicsオブジェクトで何かを行います。

関連する問題