2013-06-13 4 views
0

MonoMac으로 Mac에서 작동하도록 .NET 4.0 응용 프로그램을 얻으려고합니다.MonoMac : NsView and System.Drawing.Graphics

불행히도 나는 어느 시점에서 System.Drawing.Graphics가 필요합니다. Google에 SystemDrawing을 사용하는 경우 NsView를 사용하는 방법에 대해 많이 알지만 System.Drawing.Graphics에 대해서는 작동하지 않습니다. 나는 그것을 내 윈폼 지식과 함께 할 거라고 방법을 할 경우

, 나는이 코드 조각으로 끝낼 :

using (var g = Graphics.FromHwnd (this.TheNsViewInstance.Handle)) 
{ 
    g.DrawRectangle (new Pen(Color.Green), new Rectangle (new Point(50, 50), new Size (100, 50))); 
} 

그러나 다음 System.Reflection.TargetInvocationException 내 응용 프로그램 나누기.

모노 -github에서 나는 0 인수 (for example here)로 그래픽 인스턴스를 만드는 몇 가지 예제를 발견했습니다. 그러나 만약 그렇게한다면 Mono-Assembly와 함께 "0 Parameters"- constructor가있는 그래픽이 없기 때문에 컴파일 할 수 없습니다 (예제에서 사용한 것과 동일합니다).

누군가가 무엇이 잘못되었거나 다른 예를 제시 할 수 있다면 정말 고맙겠습니다.

나는 최신 stable mono (2.10.11) 릴리스를 실행 중입니다.

대단히 감사합니다!

+0

링크 된 파일이 독립 실행 형 예가 아닙니다. 맞습니까? CoreGraphics 위에 System.Drawing 기능을 제공하는 더 큰 프로젝트의 일부입니다. 그게 0 매개 변수를 가진 Graphics 객체입니다 - 생성자는 아마도 ... – TheNextman

답변

1

그냥 빈 생성자 및 IntPtr 생성자를 만들고 나중에 작동해야합니다. 코코아에는 객체를 인스턴스화하는 객체가 필요합니다.

public MyControl(){} 
public MyControl (IntPtr handle) : base (handle) {}