2009-11-26 38 views
0

我想在Windows手機上畫一個矩形。如何在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對象。爲了簡化這一點,您可以在使用塊中推送它們:使用(Pen pen = new Pen(Color.Black,1f)){/ *使用此筆的代碼* /} – Quibblesome 2009-11-27 12:17:44

+0

哦,如果您是GDI +我建議閱讀這個:http://www.bobpowell.net/faqmain.htm它是完整的框架特定的,但很多相同的經驗教訓適用。 – Quibblesome 2009-11-27 12:19:16

回答

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 2009-11-26 22:51:02