せっかくですので何か描いてみましょう。
private void timer__Tick(object sender, EventArgs e)
{
//非表示時と最小化時は描画しない。(下の2行が無いとエラー起こします)
if(!this.Visible)return;
if(this.WindowState == FormWindowState.Minimized)return;
//真っ黒に塗る
secondarySuface_.ColorFill(Color.Black);
//線の情報と塗り潰しの色を指定する。
secondarySuface_.DrawWidth = 1;
secondarySuface_.FillColor = Color.Red;
secondarySuface_.ForeColor = Color.Yellow;
//四角を描く
secondarySuface_.DrawBox(100,100,130,140);
Rectangle rect =new Rectangle();
rect.Size =this.ClientSize;
rect.Location =this.PointToScreen(this.ClientRectangle.Location);
primarySurface_.Draw(rect,secondarySuface_,DrawFlags.Wait);
}
何かを描くときはどんなスタイルで描くかの情報が必要になります。
プロパティ | 役目 |
---|---|
DrawStyle | 描画スタイル |
DrawWidth | 描画幅 |
FillColor | 塗りつぶし色 |
FillStyle | 塗り潰しスタイル |
ForeColor | 前景色(線の色) |
これらを設定すれば大丈夫です。といいたいところなんですが、線のスタイルint型です。リファレンスにも詳しいことが載っていません。何も設定しないと実線で書くようです。そのため、そこはいじらないでおきましょう。触らぬ神にたたりなし、描かないコードにバグなしです。
これで四角形を描く事が出来ます。数字はインテリジェンスの通りの並びで打ち込めばいいです。一応書いておくと
public void DrawBox( int left, int top, int right, int bottom );
後半二つは四角形のサイズではないので注意してください。あともう一つ、MSDNでDraw~の説明が何故か「デバイスコンテキスト取得する」となっています。嘘です。デバイスコンテキストは取得できません。