2008年9月1日月曜日

[.NET]コントロールのフォーカス枠描画

ちょっと前に携わったプロジェクトでWindowsFormの仕事をしました。標準のコントロールではニーズに合わなかったため、なくなく独自のコントロールをいくつか作成しました。
描画は独自なのですが、フォーカス枠はボタンなどの通常のコントロールと同じ表示でよいということで、それらしく描画していたのですが、調べてみると、ControlPaintというクラスで簡単に書けることがわかりました。コードはこんな感じ。


Rectangle rect = new Rectangle(2, 2, Width - 4, Height - 4);
ControlPaint.DrawFocusRectangle(e.Graphics, rect);


ちなみにこの処理は、OnPaintの中で実施しています。

0 件のコメント: