2009-11-26 6 views
0

윈도우 모바일 폰에 직사각형을 그리려합니다. Compact Edtion에서 직사각형을 그리는 방법은 무엇입니까?

  1. 은 컬러
  2. 전화에 그것을 그리기와 사각형 채우기 사각형
  3. 을 그립니다.
  4. 사용자가 클릭 할 때 발생하는 이벤트 처리기를 지정하십시오.

2, 3 및 4 단계를 수행하는 방법이 확실하지 않습니다. 직사각형이라는 그리기 클래스가 있지만 폼에서 가져 오는 방법을 모르겠습니다.

그런 다음 어떻게 이벤트 처리기를 제공 할 수 있는지 알 수 없습니다. 나는이 중 12 개를 동적으로 만들려고 어느 것이 클릭되는지와 그 안에 포함 된 색을 어떻게 든 말해야합니다.

편집

덕분에 지금까지 나는이 문제를 가지고 있지만 나는 내 양식에 표시되지 않습니다.

Graphics surface = this.CreateGraphics(); 
    Pen pen = new Pen(Color.Black, 1f); 
    System.Drawing.Rectangle test = new Rectangle(0, 0, 500, 500); 
    surface.DrawRectangle(pen, test); 
+0

에서 살펴 단지 그래픽 문자열을 측정하기 위해 객체() 얻을 .CreateGraphics를 사용합니다. 그리기 위해 절대 사용하지 마십시오. GDI 개체를 다 처리하면 GDI 개체를 삭제할 수도 있습니다. 이것을 단순화하기 위해 다음과 같이 using 블록에서 사용할 수 있습니다 : using (Pen pen = new Pen (Color.Black, 1f)) {/ * 여기에 펜을 사용하는 코드 * /} – Quibblesome

+0

아, 그리고 GDI + 나는이 글을 읽는 것을 추천한다 : http://www.bobpowell.net/faqmain.htm Full Framework에 특화된 것이지만 많은 동일한 교훈이 적용된다. – Quibblesome

답변

1

컬러 버튼을 원하는 것처럼 들립니다. 가장 쉬운 방법은 Control에서 상속하고 Paint 이벤트를 재정의하는 것입니다.

public class ColoredButton : Control { 
    protected override void OnPaint(PaintEventArgs e) { 
     Graphics graphics = e.Graphics; 
     Pen pen = new Pen(Color.Black, 1f); 
     SolidBrush brush = new SolidBrush(Color.Red); 

     graphics.FillRectangle(brush, 0, 0, Width, Height); 
     graphics.DrawRectangle(pen, 0, 0, Width-1, Height-1); 
    } 
} 

지금 바로 기본 제어 Click 이벤트에 후크.

아니면 애호가 컨트롤을 원하는 경우,이 라이브러리

http://code.msdn.microsoft.com/uiframework

+0

왜 투표가 늦습니까? – Bob

관련 문제